This is the mail archive of the glibc-cvs@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libc/linuxthreads spinlock.c


CVSROOT:	/cvs/glibc
Module name:	libc
Changes by:	drepper@sources.redhat.com	2001-05-24 00:24:43

Modified files:
	linuxthreads   : spinlock.c 

Log message:
	(__pthread_release): New inline function for releasing
	spinlock, to complement __pthread_acquire.  Includes memory
	barrier prior to assignment to spinlock, and __asm __volatile
	dance to prevent reordering or optimization of the spinlock access.
	
	(__pthread_unlock, __pthread_alt_lock, __pthread_alt_timedlock,
	__pthread_alt_unlock, __pthread_compare_and_swap): Updated to use new
	__pthread_release instead of updating spinlock directly.
	
	(__pthread_lock, __pthread_unlock, wait_node_alloc, wait_node_free,
	wait_node_dequeue, __pthread_alt_lock, __pthread_alt_timedlock,
	__pthread_alt_unlock, __pthread_acquire): Memory barrier overhaul. Lots of
	missing memory barriers added, a couple needless ones removed.
	
	(__pthread_compare_and_swap): testandset optimization removed, just calls
	__pthread_acquire, which has the new read barrier in it before its testandset.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]