Subject: CVS commit: src/lib/libpthread
To: None <source-changes@NetBSD.org>
From: Andrew Doran <ad@netbsd.org>
List: source-changes
Date: 12/24/2007 14:46:29
Module Name:	src
Committed By:	ad
Date:		Mon Dec 24 14:46:29 UTC 2007

Modified Files:
	src/lib/libpthread: pthread.c pthread.h pthread_int.h pthread_mutex.c
	    pthread_mutex2.c pthread_rwlock.c pthread_rwlock2.c pthread_tsd.c
	    shlib_version

Log Message:
- Fix pthread_rwlock_trywrlock() which was broken.

- Add new functions: pthread_mutex_held_np, mutex_owner_np, rwlock_held_np,
  rwlock_wrheld_np, rwlock_rdheld_np. These match the kernel's locking
  primitives and can be used when porting kernel code to userspace.

- Always create LWPs detached. Do join/exit sync mostly in userland. When
  looped on a dual core box this seems ~30% quicker than using lwp_wait().
  Reduce number of lock acquire/release ops during thread exit.


To generate a diff of this commit:
cvs rdiff -r1.93 -r1.94 src/lib/libpthread/pthread.c
cvs rdiff -r1.23 -r1.24 src/lib/libpthread/pthread.h
cvs rdiff -r1.62 -r1.63 src/lib/libpthread/pthread_int.h
cvs rdiff -r1.38 -r1.39 src/lib/libpthread/pthread_mutex.c
cvs rdiff -r1.16 -r1.17 src/lib/libpthread/pthread_mutex2.c
cvs rdiff -r1.22 -r1.23 src/lib/libpthread/pthread_rwlock.c
cvs rdiff -r1.7 -r1.8 src/lib/libpthread/pthread_rwlock2.c
cvs rdiff -r1.3 -r1.4 src/lib/libpthread/pthread_tsd.c
cvs rdiff -r1.11 -r1.12 src/lib/libpthread/shlib_version

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