Subject: CVS commit: src/lib/libpthread
To: None <source-changes@NetBSD.org>
From: Andrew Doran <ad@netbsd.org>
List: source-changes
Date: 11/13/2007 15:57:15
Module Name:	src
Committed By:	ad
Date:		Tue Nov 13 15:57:15 UTC 2007

Modified Files:
	src/lib/libpthread: pthread.c pthread_barrier.c pthread_cond.c
	    pthread_debug.c pthread_int.h pthread_lock.c pthread_mutex.c
	    pthread_rwlock.c pthread_rwlock2.c pthread_spin.c res_state.c
	src/lib/libpthread/arch/i386: _context_u.S
	src/lib/libpthread/arch/x86_64: _context_u.S

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -r1.86 -r1.87 src/lib/libpthread/pthread.c
cvs rdiff -r1.14 -r1.15 src/lib/libpthread/pthread_barrier.c
cvs rdiff -r1.37 -r1.38 src/lib/libpthread/pthread_cond.c
cvs rdiff -r1.13 -r1.14 src/lib/libpthread/pthread_debug.c
cvs rdiff -r1.59 -r1.60 src/lib/libpthread/pthread_int.h
cvs rdiff -r1.31 -r1.32 src/lib/libpthread/pthread_lock.c
cvs rdiff -r1.36 -r1.37 src/lib/libpthread/pthread_mutex.c
cvs rdiff -r1.21 -r1.22 src/lib/libpthread/pthread_rwlock.c
cvs rdiff -r1.5 -r1.6 src/lib/libpthread/pthread_rwlock2.c
cvs rdiff -r1.2 -r1.3 src/lib/libpthread/pthread_spin.c
cvs rdiff -r1.4 -r1.5 src/lib/libpthread/res_state.c
cvs rdiff -r1.5 -r1.6 src/lib/libpthread/arch/i386/_context_u.S
cvs rdiff -r1.7 -r1.8 src/lib/libpthread/arch/x86_64/_context_u.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.