The NetBSD Project

CVS log for src/lib/libpthread/pthread_lock.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libpthread

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.36 / (download) - annotate - [select for diffs], Sun Apr 10 10:38:33 2022 UTC (9 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, HEAD
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

pthread: Nix trailing whitespace.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Feb 12 14:59:32 2022 UTC (11 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.34: +5 -2 lines
Diff to previous 1.34 (colored)

libpthread: Move namespacing include to top of .c files.

Stuff like libc's namespace.h, or atomic_op_namespace.h, which does
namespacing tricks like `#define atomic_cas_uint _atomic_cas_uint',
has to go at the top of each .c file.  If it goes in the middle, it
might be too late to affect the declarations, and result in compile
errors.

I tripped over this by including <sys/atomic.h> in mips
<machine/lock.h>.

(Maybe we should create a new pthread_namespace.h file for the
purpose, but this'll do for now.)

Revision 1.14.4.1 / (download) - annotate - [select for diffs], Tue Sep 16 18:49:32 2008 UTC (14 years, 4 months ago) by bouyer
Branch: netbsd-4
Changes since 1.14: +6 -2 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Sync with the following revisions (requested by skrll in ticket #1196):
	gnu/dist/gdb						removed
	gnu/usr.bin/gdb53					removed
	distrib/cats/instkernel/Makefile			1.14.6.1
	gnu/dist/gdb6/bfd/config.bfd				1.3.6.1
	gnu/dist/gdb6/bfd/elfxx-sparc.c				1.1.1.2.6.1
	gnu/dist/gdb6/bfd/elfxx-sparc.h				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/Makefile.in				1.2.2.1.2.2
	gnu/dist/gdb6/gdb/alpha-tdep.c				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/alpha-tdep.h				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/alphabsd-nat.c			1.1.1.2.6.2
	gnu/dist/gdb6/gdb/alphabsd-nat.h			1.1.2.1
	gnu/dist/gdb6/gdb/alphabsd-tdep.c			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/alphabsd-tdep.h			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/alphanbsd-nat.c			1.1.2.1
	gnu/dist/gdb6/gdb/alphanbsd-tdep.c			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/amd64-nat.c				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/amd64bsd-nat.c			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/amd64nbsd-nat.c			1.1.1.2.6.3
	gnu/dist/gdb6/gdb/amd64nbsd-tdep.c			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/arm-tdep.h				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/armbsd-tdep.c				1.1.2.1
	gnu/dist/gdb6/gdb/armnbsd-nat.c				1.1.1.2.6.2
	gnu/dist/gdb6/gdb/armnbsd-tdep.c			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/configure				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/configure.ac				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/i386bsd-nat.c				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/i386nbsd-tdep.c			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/m68kbsd-nat.c				1.1.1.2.6.2
	gnu/dist/gdb6/gdb/mipsnbsd-nat.c			1.1.1.2.6.2
	gnu/dist/gdb6/gdb/nbsd-thread.c				1.1.2.3
	gnu/dist/gdb6/gdb/ppcnbsd-nat.c				1.1.1.2.6.2
	gnu/dist/gdb6/gdb/ppcnbsd-tdep.c			1.3.6.1
	gnu/dist/gdb6/gdb/sh-tdep.c				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/shnbsd-nat.c				1.1.1.2.6.3
	gnu/dist/gdb6/gdb/shnbsd-tdep.c				1.1.1.2.6.4
	gnu/dist/gdb6/gdb/shnbsd-tdep.h				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/sparc-nat.c				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/sparc64nbsd-nat.c			1.1.1.2.6.2
	gnu/dist/gdb6/gdb/sparcnbsd-nat.c			1.1.1.2.6.2
	gnu/dist/gdb6/gdb/tramp-frame.h				1.1.1.2.6.1
	gnu/dist/gdb6/gdb/vaxbsd-nat.c				1.1.1.2.6.2
	gnu/dist/gdb6/gdb/config/alpha/nbsd.mh			1.1.1.2.6.1
	gnu/dist/gdb6/gdb/config/arm/nbsd.mt			1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/arm/nbsdelf.mh			1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/i386/nbsd64.mh			1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/m68k/nbsdelf.mh		1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/mips/nbsd.mh			1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/powerpc/nbsd.mh		1.1.1.2.6.1
	gnu/dist/gdb6/gdb/config/sh/nbsd.mh			1.1.1.1.6.2
	gnu/dist/gdb6/gdb/config/sh/tm-nbsd.h			1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/sparc/nbsd64.mh		1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/sparc/nbsdelf.mh		1.1.1.1.6.1
	gnu/dist/gdb6/gdb/config/vax/nbsdelf.mh			1.1.1.1.6.1
	gnu/dist/gdb6/opcodes/configure				1.1.1.2.6.1
	gnu/dist/gdb6/opcodes/configure.in			1.1.1.2.6.1
	gnu/usr.bin/Makefile					1.126.4.1
	gnu/usr.bin/gdb6/arch/alpha/config.h			1.3.4.1
	gnu/usr.bin/gdb6/arch/alpha/defs.mk			1.2.6.1
	gnu/usr.bin/gdb6/arch/alpha/init.c			1.2.6.1
	gnu/usr.bin/gdb6/arch/alpha/nm.h			1.2.6.1
	gnu/usr.bin/gdb6/arch/arm/defs.mk			1.2.6.2
	gnu/usr.bin/gdb6/arch/arm/init.c			1.1.6.1
	gnu/usr.bin/gdb6/arch/armeb/config.h			1.1.6.2
	gnu/usr.bin/gdb6/arch/armeb/defs.mk			1.1.6.3
	gnu/usr.bin/gdb6/arch/armeb/init.c			1.1.6.2
	gnu/usr.bin/gdb6/arch/armeb/tm.h			1.1.6.2
	gnu/usr.bin/gdb6/arch/armeb/version.c			1.1.6.2
	gnu/usr.bin/gdb6/arch/i386/defs.mk			1.4.4.1
	gnu/usr.bin/gdb6/arch/i386/init.c			1.3.6.1
	gnu/usr.bin/gdb6/arch/m68000/config.h			1.1.6.2
	gnu/usr.bin/gdb6/arch/m68000/defs.mk			1.1.6.2
	gnu/usr.bin/gdb6/arch/m68000/init.c			1.1.6.2
	gnu/usr.bin/gdb6/arch/m68000/tm.h			1.1.6.2
	gnu/usr.bin/gdb6/arch/m68000/version.c			1.1.6.2
	gnu/usr.bin/gdb6/arch/m68k/defs.mk			1.1.4.1
	gnu/usr.bin/gdb6/arch/m68k/init.c			1.1.4.1
	gnu/usr.bin/gdb6/arch/mipseb/config.h			1.3.4.1
	gnu/usr.bin/gdb6/arch/mipseb/defs.mk			1.2.6.2
	gnu/usr.bin/gdb6/arch/mipseb/init.c			1.2.6.2
	gnu/usr.bin/gdb6/arch/mipsel/config.h			1.2.6.3
	gnu/usr.bin/gdb6/arch/mipsel/defs.mk			1.2.6.3
	gnu/usr.bin/gdb6/arch/mipsel/init.c			1.2.6.3
	gnu/usr.bin/gdb6/arch/mipsel/tm.h			1.2.6.2
	gnu/usr.bin/gdb6/arch/mipsel/version.c			1.2.6.2
	gnu/usr.bin/gdb6/arch/powerpc/defs.mk			1.3.6.1
	gnu/usr.bin/gdb6/arch/powerpc/init.c			1.3.6.1
	gnu/usr.bin/gdb6/arch/sh3eb/config.h			1.2.2.2
	gnu/usr.bin/gdb6/arch/sh3eb/defs.mk			1.2.8.3
	gnu/usr.bin/gdb6/arch/sh3eb/init.c			1.1.8.3
	gnu/usr.bin/gdb6/arch/sh3eb/nm.h			1.1.8.2
	gnu/usr.bin/gdb6/arch/sh3eb/tm.h			1.1.8.2
	gnu/usr.bin/gdb6/arch/sh3eb/version.c			1.1.8.2
	gnu/usr.bin/gdb6/arch/sh3el/config.h			1.2.2.2
	gnu/usr.bin/gdb6/arch/sh3el/defs.mk			1.2.8.3
	gnu/usr.bin/gdb6/arch/sh3el/init.c			1.1.8.3
	gnu/usr.bin/gdb6/arch/sh3el/nm.h			1.1.8.2
	gnu/usr.bin/gdb6/arch/sh3el/tm.h			1.1.8.2
	gnu/usr.bin/gdb6/arch/sh3el/version.c			1.1.8.2
	gnu/usr.bin/gdb6/arch/sparc/defs.mk			1.2.6.1
	gnu/usr.bin/gdb6/arch/sparc/init.c			1.1.6.1
	gnu/usr.bin/gdb6/arch/sparc64/defs.mk			1.2.6.1
	gnu/usr.bin/gdb6/arch/sparc64/init.c			1.1.6.1
	gnu/usr.bin/gdb6/arch/vax/config.h			1.1.6.2
	gnu/usr.bin/gdb6/arch/vax/defs.mk			1.1.6.2
	gnu/usr.bin/gdb6/arch/vax/init.c			1.1.6.2
	gnu/usr.bin/gdb6/arch/vax/tm.h				1.1.6.2
	gnu/usr.bin/gdb6/arch/vax/version.c			1.1.6.2
	gnu/usr.bin/gdb6/arch/x86_64/defs.mk			1.2.6.1
	gnu/usr.bin/gdb6/arch/x86_64/init.c			1.1.6.1
	gnu/usr.bin/gdb6/bfd/arch/armeb/bfd.h			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/armeb/bfdver.h		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/armeb/config.h		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/armeb/defs.mk			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/m68000/bfd.h			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/m68000/bfdver.h		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/m68000/config.h		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/m68000/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/mipsel/bfd.h			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/mipsel/bfdver.h		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/mipsel/config.h		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/mipsel/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfd.h			1.1.8.3
	gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfdver.h		1.1.8.2
	gnu/usr.bin/gdb6/bfd/arch/sh3eb/config.h		1.1.8.2
	gnu/usr.bin/gdb6/bfd/arch/sh3eb/defs.mk			1.1.8.3
	gnu/usr.bin/gdb6/bfd/arch/sh3el/bfd.h			1.1.8.3
	gnu/usr.bin/gdb6/bfd/arch/sh3el/bfdver.h		1.1.8.2
	gnu/usr.bin/gdb6/bfd/arch/sh3el/config.h		1.1.8.2
	gnu/usr.bin/gdb6/bfd/arch/sh3el/defs.mk			1.1.8.3
	gnu/usr.bin/gdb6/bfd/arch/vax/bfd.h			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/vax/bfdver.h			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/vax/config.h			1.1.6.2
	gnu/usr.bin/gdb6/bfd/arch/vax/defs.mk			1.1.6.2
	gnu/usr.bin/gdb6/gdb/Makefile				1.5.2.1.2.2
	gnu/usr.bin/gdb6/gdbtui/Makefile			1.2.6.1
	gnu/usr.bin/gdb6/libiberty/arch/armeb/config.h		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/armeb/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/m68000/config.h		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/m68000/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/mipsel/config.h		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/mipsel/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/sh3eb/config.h		1.1.8.2
	gnu/usr.bin/gdb6/libiberty/arch/sh3eb/defs.mk		1.1.8.2
	gnu/usr.bin/gdb6/libiberty/arch/sh3el/config.h		1.1.8.2
	gnu/usr.bin/gdb6/libiberty/arch/sh3el/defs.mk		1.1.8.2
	gnu/usr.bin/gdb6/libiberty/arch/vax/config.h		1.1.6.2
	gnu/usr.bin/gdb6/libiberty/arch/vax/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/armeb/config.h		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/armeb/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/m68000/config.h		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/m68000/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/mipsel/config.h		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/mipsel/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/sh3eb/config.h		1.1.8.2
	gnu/usr.bin/gdb6/opcodes/arch/sh3eb/defs.mk		1.1.8.3
	gnu/usr.bin/gdb6/opcodes/arch/sh3el/config.h		1.1.8.2
	gnu/usr.bin/gdb6/opcodes/arch/sh3el/defs.mk		1.1.8.3
	gnu/usr.bin/gdb6/opcodes/arch/vax/config.h		1.1.6.2
	gnu/usr.bin/gdb6/opcodes/arch/vax/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/armeb/config.h		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/armeb/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/m68000/config.h		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/m68000/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/mipsel/config.h		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/mipsel/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/sh3eb/config.h		1.1.8.2
	gnu/usr.bin/gdb6/readline/arch/sh3eb/defs.mk		1.1.8.2
	gnu/usr.bin/gdb6/readline/arch/sh3el/config.h		1.1.8.2
	gnu/usr.bin/gdb6/readline/arch/sh3el/defs.mk		1.1.8.2
	gnu/usr.bin/gdb6/readline/arch/vax/config.h		1.1.6.2
	gnu/usr.bin/gdb6/readline/arch/vax/defs.mk		1.1.6.2
	gnu/usr.bin/gdb6/sim/arch/mipseb/cconfig.h		1.1.2.1
	gnu/usr.bin/gdb6/sim/arch/mipseb/config.h		1.1.2.1
	gnu/usr.bin/gdb6/sim/arch/mipseb/defs.mk		1.1.2.1
	gnu/usr.bin/gdb6/sim/arch/mipsel/cconfig.h		1.1.2.1
	gnu/usr.bin/gdb6/sim/arch/mipsel/config.h		1.1.2.1
	gnu/usr.bin/gdb6/sim/arch/mipsel/defs.mk		1.1.2.1
	lib/libkvm/kvm_sparc64.c				1.10.18.2
	lib/libpthread/pthread.c				1.48.6.4
	lib/libpthread/pthread_barrier.c			1.6.18.1
	lib/libpthread/pthread_cond.c				1.18.12.2
	lib/libpthread/pthread_debug.h				1.8.18.1
	lib/libpthread/pthread_int.h				1.34.4.5
	lib/libpthread/pthread_lock.c				1.14.6.1
	lib/libpthread/pthread_mutex.c				1.22.4.2
	lib/libpthread/pthread_run.c				1.18.12.4
	lib/libpthread/pthread_rwlock.c				1.13.6.2
	lib/libpthread/pthread_sa.c				1.37.6.5
	lib/libpthread/pthread_sig.c				1.47.4.8
	lib/libpthread/pthread_sleep.c				1.7.6.2
	lib/libpthread/sem.c					1.9.6.2
	lib/libpthread/arch/sh3/pthread_md.h			1.3.6.1
	regress/lib/libpthread/resolv/Makefile			1.1.12.1
	regress/lib/libpthread/sigrunning/Makefile		1.1.2.1
	regress/lib/libpthread/sigrunning/sigrunning.c		1.1.2.1
	share/mk/bsd.own.mk					1.489.4.3
	sys/arch/amd64/amd64/locore.S				1.18.14.1
	sys/arch/amd64/amd64/machdep.c				1.44.2.3.2.1
	sys/arch/amd64/conf/kern.ldscript			1.1.70.1
	sys/arch/cats/conf/Makefile.cats.inc			1.17.30.1
	sys/arch/shark/conf/Makefile.shark.inc			1.6.30.1
	sys/arch/sparc64/conf/kern.ldscript			1.7.26.2
	sys/arch/sparc64/conf/kern32.ldscript			1.6.26.2
	sys/arch/sparc64/include/kcore.h			1.4.92.2
	sys/arch/sparc64/sparc64/locore.s			1.232.4.4
	sys/arch/sparc64/sparc64/machdep.c			1.193.4.3
	sys/arch/sparc64/sparc64/pmap.c				1.184.2.1.2.4
	sys/conf/newvers.sh					1.42.26.2
	sys/kern/kern_sa.c					1.87.4.11
	sys/kern/kern_synch.c					1.173.4.2
	sys/sys/savar.h						1.20.10.2
	tools/gdb/Makefile					1.9.4.1
	tools/gdb/mknative-gdb					1.1.6.1

pullup the wrstuden-fixsa CVS branch to netbsd-4:
toolchain/35540 - GDB 6 support for pthreads.
port-sparc64/37534 - ktrace firefox gives
    kernel trap 30: data access expection
GDB changes:
- delete gdb53
- enable gdb6 on all architectures
- add support for amd64 crash dumps
- add support for sparc64 crash dumps
- add support for /proc pid to executable filename for all archs
- enable thread support for all architectures
- add a note section to kernels to all platforms
- support detection/unwinding of signals for most architectures.
- Fix PTHREAD_UCONTEXT_TO_REG / PTHREAD_REG_TO_UCONTEXT on sh3.
- Apply fix from binutils-current so that sparc gdb can be cross built
  on a 64bit host.
SA/pthread changes:
Pre-allocate memory needed for event delivery. Eliminates dropped
interrupts under load.
Deliver intra-process signals to running threads
Eliminate some deadlock scenarios
Fix intra-process signal delivery when delivering to a thread waiting
for signals. Makes afs work again!

Revision 1.33.4.1 / (download) - annotate - [select for diffs], Sun May 18 12:30:39 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.33: +2 -9 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

sync with head.

Revision 1.34.8.2 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:02 2008 UTC (14 years, 9 months ago) by martin
Branch: christos-time_t
Changes since 1.34.8.1: +198 -0 lines
Diff to previous 1.34.8.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.34.8.1, Mon Apr 28 20:23:01 2008 UTC (14 years, 9 months ago) by martin
Branch: christos-time_t
Changes since 1.34: +0 -198 lines
FILE REMOVED

file pthread_lock.c was added on branch christos-time_t on 2008-04-28 20:23:02 +0000

Revision 1.34 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:01 2008 UTC (14 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, localcount-20160914, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, is-mlppp-base, is-mlppp, hpcarm-cleanup-nbase, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, christos-time_t-nbase, christos-time_t-base, cherry-xenmp-base, cherry-xenmp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: christos-time_t
Changes since 1.33: +2 -9 lines
Diff to previous 1.33 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.24.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:36:36 2008 UTC (15 years ago) by matt
Branch: matt-armv6
Changes since 1.24.2.1: +15 -39 lines
Diff to previous 1.24.2.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

sync with HEAD

Revision 1.33 / (download) - annotate - [select for diffs], Sat Jan 5 01:37:35 2008 UTC (15 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base
Branch point for: yamt-pf42
Changes since 1.32: +4 -3 lines
Diff to previous 1.32 (colored)

machine/lock.h, not sys/lock.h

Revision 1.32 / (download) - annotate - [select for diffs], Tue Nov 13 15:57:11 2007 UTC (15 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: cube-autoconf-base, cube-autoconf
Changes since 1.31: +13 -38 lines
Diff to previous 1.31 (colored)

For PR bin/37347:

- Override __libc_thr_init() instead of using our own constructor.
- Add pthread__getenv() and use instead of getenv(). This is used before
  we are up and running and unfortunatley getenv() takes locks.

Other changes:

- Cache the spinlock vectors in pthread__st. Internal spinlock operations
  now take 1 function call instead of 3 (i386).
- Use pthread__self() internally, not pthread_self().
- Use __attribute__ ((visibility("hidden"))) in some places.
- Kill PTHREAD_MAIN_DEBUG.

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:11:41 2007 UTC (15 years, 2 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.24: +76 -112 lines
Diff to previous 1.24 (colored)

sync with HEAD

Revision 1.14.6.1 / (download) - annotate - [select for diffs], Sun Nov 4 04:26:58 2007 UTC (15 years, 3 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.14: +6 -2 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Check in changes to locking behavior.

pthread__sched() now takes a parameter indicating if the run queue is
already locked. Useful in cases where we already hold pthread__runqueue_lock.

pthread__suspend() now requires callers explicitly lock pthread__runqueue_lock
so we avoid issues with locking order regarding pt_statelock.

Adjsut our lock hierarchy. pthread__runqueue_lock is now above
pt_statelock, triggering the above adjustments. Adjust a lot of routines
as a result. Also move pt_siglock way up in the hierarchy, making
pthread__kill() not violate locking. Add a few extra locks to the list.

Adjust a botch in how pthread_join() used pthread-spintrylock().

pthread_cancel() now correctly walks up the locks with thread->pt_sleeplock.
We can't just lock it, as it points to a lock in the top locking rung. So
try locking, and if it fails, unlock and re-lock. Add code to cope with
the target thread not being in the expected state (which was on a
blocked queue) after we get all the locks.

Add comments to describe what's going on in places that I got confused.

Now that pt_statelock is lower in the locking order than
pthread__runqueue_lock, we can explicitly lock a thread's state before
we take it off the run queue. Adjust sched_yield() accordingly and
add some locking calls that were commented out before (as they'd have
been locking violations).

pthread_next(): now that we can lock the state lock while holding the run
queue lock, do so. Set a thread's state to PT_STATE_RUNNING before we
pull it off the run queue. Since we always are going to switch to it,
set pt_vpid and pt_lastlwp while setting the state. pthread_next
callers now _don't_ set these values.

pthread__kill(): grab pthread__runqueue_lock before target->pt_statelock.
If we want to target a thread that is on a blocked queue, do the
pthread_spintrylock() dance. Unlock all three locks we're running around
with, lock target->pt_sleeplock, then re-lock them all. After we lock,
make sure that the thread's still on a blocked queue before proceeding. If
it's not, either exit (if we wanted to wake out of sigtimedwait())
or start it all over. If the thread has gone live, it may have blocked
our signal and it'd be quite weird to get a signal you'd disabled, just
because the signaller had been running before you blocked it.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Oct 4 21:04:32 2007 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored)

Drop PTHREAD__NSPINS back from 1000 to 64. Setting the waiters bits and
preparing to sleep on a mutex are slow in relative terms, so this allows
us to recover from short lock holds without blocking, while not wasting
too much time on longer holds.

Revision 1.30 / (download) - annotate - [select for diffs], Mon Sep 24 13:56:42 2007 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.29: +2 -58 lines
Diff to previous 1.29 (colored)

Kill PTHREAD_SPIN_DEBUG - it's not must use with 1:1.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Sep 24 12:19:39 2007 UTC (15 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.28: +64 -51 lines
Diff to previous 1.28 (colored)

Resurrect the function pointers for lock operations and allow each
architecture to provide asm versions of the RAS operations.

We do this because relying on the compiler to get the RAS right is not
sensible. (It gets alpha wrong and hppa is suboptimal)

Provide asm RAS ops for hppa.

(A slightly different version) reviewed by Andrew Doran.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Sep 17 13:25:59 2007 UTC (15 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.27: +8 -8 lines
Diff to previous 1.27 (colored)

Mostly fix the restartable atomic sequences by reversing the sense of the
lock check and test for return value.

At least alpha looks broken me and some are sub-optimal.

"Looks good to me" from ad.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Sep 10 11:34:05 2007 UTC (15 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.26: +20 -13 lines
Diff to previous 1.26 (colored)

Merge nick-csl-alignment.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Sep 7 14:09:27 2007 UTC (15 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base5
Changes since 1.25: +4 -8 lines
Diff to previous 1.25 (colored)

- Don't take the mutex's spinlock (ptr_interlock) in pthread_cond_wait().
  Instead, make the deferred wakeup list a per-thread array and pass down
  the lwpid_t's that way.

- In pthread_cond_wait(), take the mutex before dealing with early wakeup.
  In this way there should never be contention on the CV's spinlock if
  the app follows POSIX rules (there should only be contention on the
  user-provided mutex).

- Add a port of the kernel's rwlocks. The rwlock's spinlock is only taken if
  there is contention. This is enabled where atomic ops are available. Right
  now that is only i386 and amd64 because I don't have other hardware to
  test with. It's trivial to add stubs for other architectures as long as
  they have compare-and-swap. When we have proper atomic ops the old rwlock
  code can be removed.

- Add a new mutex implementation that's similar to the kernel's mutexes, but
  uses compare-and-swap to maintain the waiters list, so no spinlocks are
  involved. Same caveats apply as for the rwlocks.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Sep 7 00:07:54 2007 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.24: +10 -6 lines
Diff to previous 1.24 (colored)

If a libpthread internal spinlock is held, nanosleep() for a tick instead of
yielding. This is a nasty band-aid but with many threads, looping over
sched_yield() wastes a huge amount of CPU time. It would be nice to have a
way to temporarily disable preemption, but it turns out that's yet another
no-brain concept that has been patented and the patent holder seems to be
suing people lately. Another alternative is probably to have kernel-assisted
spinlocks.

Revision 1.20.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 10:14:15 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.20.2.3: +96 -117 lines
Diff to previous 1.20.2.3 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Aug 16 23:37:08 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base4, nick-csl-alignment-base3
Branch point for: matt-armv6
Changes since 1.23: +7 -12 lines
Diff to previous 1.23 (colored)

Minor correction for debug code and a cosmetic change.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Aug 16 13:54:17 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.22: +95 -124 lines
Diff to previous 1.22 (colored)

Trim fat off libpthread internal spinlock operations. Makes a mesurable
improvement across the board.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Aug 16 12:01:49 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.21: +16 -4 lines
Diff to previous 1.21 (colored)

- Reinitialize the absolute minimum when recycling user thread state.
  Chops another ~10% off create/join in a loop on i386.
- Disable low level debugging as this is stable. Improves benchmarks
  across the board by a small percentage. Uncontested mutex acquire
  and release in a loop becomes about 8% quicker.
- Minor cleanup.

Revision 1.20.2.3 / (download) - annotate - [select for diffs], Wed Aug 15 13:46:53 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.20.2.2: +17 -20 lines
Diff to previous 1.20.2.2 (colored) to branchpoint 1.20 (colored)

Sync with HEAD.

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Wed Aug 15 08:25:10 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.20.2.1: +6 -7 lines
Diff to previous 1.20.2.1 (colored) to branchpoint 1.20 (colored)

Simplify the pthread__simple_lock_try RAS.

Revision 1.21.2.2 / (download) - annotate - [select for diffs], Sat Aug 4 13:37:50 2007 UTC (15 years, 6 months ago) by ad
Branch: matt-mips64
Changes since 1.21.2.1: +287 -0 lines
Diff to previous 1.21.2.1 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)

Some significant performance improvements, and a fix for a race with pthread
detach/join.

- Make mutex acquire spin for a short time, as done with spinlocks.
- Make the number of spins controllable with the env var PTHREAD_NSPINS.
- Reduce the amount of time that libpthread internal spinlocks are held.
- Rely more on the barrier effects of park/unpark to avoid taking spinlocks.
- Simplify the locking around pthreads and the global queues.
- Align per-thread sync data on a 128 byte boundary.
- Offset thread stacks by a small amount to try and reduce cache thrash.

Revision 1.21.2.1, Sat Aug 4 13:37:49 2007 UTC (15 years, 6 months ago) by ad
Branch: matt-mips64
Changes since 1.21: +0 -287 lines
FILE REMOVED

file pthread_lock.c was added on branch matt-mips64 on 2007-08-04 13:37:50 +0000

Revision 1.21 / (download) - annotate - [select for diffs], Sat Aug 4 13:37:49 2007 UTC (15 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base2, matt-mips64-base
Branch point for: matt-mips64
Changes since 1.20: +11 -20 lines
Diff to previous 1.20 (colored)

Some significant performance improvements, and a fix for a race with pthread
detach/join.

- Make mutex acquire spin for a short time, as done with spinlocks.
- Make the number of spins controllable with the env var PTHREAD_NSPINS.
- Reduce the amount of time that libpthread internal spinlocks are held.
- Rely more on the barrier effects of park/unpark to avoid taking spinlocks.
- Simplify the locking around pthreads and the global queues.
- Align per-thread sync data on a 128 byte boundary.
- Offset thread stacks by a small amount to try and reduce cache thrash.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Wed Jul 18 13:36:19 2007 UTC (15 years, 6 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.20: +8 -7 lines
Diff to previous 1.20 (colored)

Initial work on provided correctly aligned __cpu_simple_lock_t for hppa
and first attempt at adapting i386 to the changes.

More to come.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Mar 24 18:52:00 2007 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, hpcarm-cleanup
Branch point for: nick-csl-alignment
Changes since 1.19: +31 -55 lines
Diff to previous 1.19 (colored)

- Test+branch is usually cheaper than making an indirect function call,
  so avoid making them.
- When parking an LWP on a condition variable, point the hint argument at
  the mutex's waiters queue. Chances are we will be awoken from that later.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Mar 5 23:30:17 2007 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.18: +39 -50 lines
Diff to previous 1.18 (colored)

Cosmetic and minor debugging changes.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Mar 2 18:53:52 2007 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.17: +4 -41 lines
Diff to previous 1.17 (colored)

Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Mar 2 17:34:21 2007 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.16: +15 -6 lines
Diff to previous 1.16 (colored)

On x86, issue the pause instruction while spinning.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Dec 24 18:39:46 2006 UTC (16 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.15: +7 -10 lines
Diff to previous 1.15 (colored)

Fix bugs with and improve upon previous.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Dec 23 05:14:47 2006 UTC (16 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.14: +12 -3 lines
Diff to previous 1.14 (colored)

Conditionalised support for 1:1 threads. Needs associated kernel changes
and more work to be useful.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Mar 17 17:23:21 2005 UTC (17 years, 10 months ago) by jwise
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

Lint warning police -- don't use `//' for comments in C code.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Jan 6 17:38:29 2005 UTC (18 years ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3
Changes since 1.12: +5 -2 lines
Diff to previous 1.12 (colored)

Add some additional assertions and debugging printf()s.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Mar 14 12:49:31 2004 UTC (18 years, 10 months ago) by he
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.11: +3 -2 lines
Diff to previous 1.11 (colored)

It appears that <sys/lock.h> requires <sys/types.h>, so include that as well.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Mar 14 01:19:42 2004 UTC (18 years, 10 months ago) by cl
Branch: MAIN
Changes since 1.10: +5 -15 lines
Diff to previous 1.10 (colored)

add libpthread part of concurrency support for SA on MP systems
- enable concurrency according to environment variable PTHREAD_CONCURRENCY
- add idle VP wakeup if there are additional jobs and idle VPs
- make reidlequeue per VP
- enable spinning for locks
- fix race condition in alarm processing
- fix race condition in mutex locking
- make debugging output line buffered and add VP prefix to debug lines

Revision 1.10 / (download) - annotate - [select for diffs], Wed Mar 3 21:06:07 2004 UTC (18 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.9: +7 -12 lines
Diff to previous 1.9 (colored)

Use the new RAS_*() macros.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Feb 13 11:36:08 2004 UTC (18 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

Uppercase CPU, plural is CPUs.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Jan 19 16:18:33 2004 UTC (19 years ago) by kleink
Branch: MAIN
Changes since 1.7: +6 -4 lines
Diff to previous 1.7 (colored)

; may be a comment character in assembly, use \n as a separator instead.
This instance spotted by Martin Husemann.

Revision 1.7 / (download) - annotate - [select for diffs], Fri May 16 23:37:47 2003 UTC (19 years, 8 months ago) by scw
Branch: MAIN
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

Both pthread__lock_ras_start and pthread__lock_ras_end need to be
explicitly declared global in the asm() statements for the benefit of
SH5 binutils. Otherwise, the assembler/linker (I haven't figured out
which) botches the SHmedia bit when generating GOT references for
these symbols in the shared version of the library.

Ok'd by Nathan.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Mar 8 08:03:35 2003 UTC (19 years, 10 months ago) by lukem
Branch: MAIN
Changes since 1.5: +4 -1 lines
Diff to previous 1.5 (colored)

add __RCSID()

Revision 1.5 / (download) - annotate - [select for diffs], Sat Feb 15 04:37:04 2003 UTC (19 years, 11 months ago) by nathanw
Branch: MAIN
Changes since 1.4: +4 -13 lines
Diff to previous 1.4 (colored)

Adapt to pthread__assert() and remove local debug toggle.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jan 22 13:52:03 2003 UTC (20 years ago) by scw
Branch: MAIN
Changes since 1.3: +5 -4 lines
Diff to previous 1.3 (colored)

pthread__lock_ras_start and pthread__lock_ras_end need to be declared
as function pointers, not character arrays, for the benefit of
platforms (e.g. SH5) where the two types are quite distinct.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Jan 18 18:45:55 2003 UTC (20 years ago) by christos
Branch: MAIN
Changes since 1.2: +4 -5 lines
Diff to previous 1.2 (colored)

de-lint

Revision 1.2 / (download) - annotate - [select for diffs], Sat Jan 18 10:34:15 2003 UTC (20 years ago) by thorpej
Branch: MAIN
Changes since 1.1: +368 -0 lines
Diff to previous 1.1 (colored)

Merge the nathanw_sa branch.

Revision 1.1.2.14 / (download) - annotate - [select for diffs], Mon Dec 30 22:24:34 2002 UTC (20 years, 1 month ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.1.2.13: +113 -8 lines
Diff to previous 1.1.2.13 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Add support for using RAS lock primitives on uniprocessors where
RAS is available.

Revision 1.1.2.13 / (download) - annotate - [select for diffs], Wed Dec 18 22:53:14 2002 UTC (20 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.12: +7 -7 lines
Diff to previous 1.1.2.12 (colored) to branchpoint 1.1 (colored)

Log lock counts in debug messages.

Revision 1.1.2.12 / (download) - annotate - [select for diffs], Thu Nov 14 04:10:08 2002 UTC (20 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.11: +16 -4 lines
Diff to previous 1.1.2.11 (colored) to branchpoint 1.1 (colored)

Use PTHREAD_SPIN_DEBUG here instead of PTHREAD_SA_DEBUG.

Add some checks, conditional on PTHREAD_SPIN_DEBUG, that the spinlock
count is positive. Bail out manually instead of calling abort(),
because abort() will call signal functions, which will try to use
spinlocks....

Revision 1.1.2.11 / (download) - annotate - [select for diffs], Sun Nov 3 12:29:03 2002 UTC (20 years, 3 months ago) by skrll
Branch: nathanw_sa
Changes since 1.1.2.10: +1 -2 lines
Diff to previous 1.1.2.10 (colored) to branchpoint 1.1 (colored)

Whitespace.

Revision 1.1.2.10 / (download) - annotate - [select for diffs], Tue Oct 22 01:38:17 2002 UTC (20 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.9: +5 -14 lines
Diff to previous 1.1.2.9 (colored) to branchpoint 1.1 (colored)

Revert 1.1.2.7 (don't switch if we're an upcall) and the assertion in
1.1.2.6 that encountering a locked spinlock is a bug.

Since upcalls can hold spinlocks (signal system, recycle lock, alarm
queue, condition variable interlocks via alarm queue callbacks) it is
possible that an upcall that has itself been preempted will try to
acquire a spinlock that is held by another thread in the
lock-resolution code. In this case, the proper thing to do is to
transfer control via the preempted-while-spinning code, rather than
raising an assertion failure. This will permit the other thread to
make forward progress in its critical region, after which this upcall
will run again and can aquire the spinlock

Revision 1.1.2.9 / (download) - annotate - [select for diffs], Wed Oct 16 18:34:40 2002 UTC (20 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.8: +10 -5 lines
Diff to previous 1.1.2.8 (colored) to branchpoint 1.1 (colored)

Whitespace.

Revision 1.1.2.8 / (download) - annotate - [select for diffs], Fri Mar 1 01:23:53 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.7: +90 -1 lines
Diff to previous 1.1.2.7 (colored) to branchpoint 1.1 (colored)

Implement POSIX spinlock functions.

Revision 1.1.2.7 / (download) - annotate - [select for diffs], Fri Feb 8 22:26:55 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.6: +7 -4 lines
Diff to previous 1.1.2.6 (colored) to branchpoint 1.1 (colored)

Efficency tweak: don't take preemption-jumps out of switch routines if
we're an upcall; the handler will just continue us at the same point
anyway until we finish our business.

Revision 1.1.2.6 / (download) - annotate - [select for diffs], Sun Dec 30 02:17:08 2001 UTC (21 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.5: +33 -6 lines
Diff to previous 1.1.2.5 (colored) to branchpoint 1.1 (colored)

pt_spin_t -> pthread_spin_t.
Add some debug logging and assertions.

Revision 1.1.2.5 / (download) - annotate - [select for diffs], Thu Jul 26 19:57:14 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.4: +4 -4 lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored)

pthread__switch() no longer needs to be implemeted in assembler,
and doesn't have a lock parameter.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Fri Jul 20 21:23:53 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.3: +1 -8 lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored)

Reduce excessive header inclusion.

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Fri Jul 13 02:42:38 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.2: +37 -1 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)

Note copyright.
Standardize RCS IDs.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Jul 13 02:14:31 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.1: +7 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

Add pthread_lockinit().

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Mon Mar 5 23:51:56 2001 UTC (21 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1: +101 -0 lines
Diff to previous 1.1 (colored)

The beginnings of a scheduler activations-based pthread library.

Revision 1.1, Mon Mar 5 23:51:56 2001 UTC (21 years, 11 months ago) by nathanw
Branch: MAIN
CVS Tags: nathanw_sa_before_merge
Branch point for: nathanw_sa
FILE REMOVED

file pthread_lock.c was initially added on branch nathanw_sa.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>