about summary refs log tree commit diff
path: root/linuxthreads/internals.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-26 02:18:41 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-26 02:18:41 +0000
commit9ec9e34ee301ccfa4216939639be5498831f9d37 (patch)
treee61a7957abfbeb4816cb6dc545c116b8e18159b5 /linuxthreads/internals.h
parenta956d04575bbd053a1ff61a05a5526867633d0d0 (diff)
downloadglibc-9ec9e34ee301ccfa4216939639be5498831f9d37.tar.gz
glibc-9ec9e34ee301ccfa4216939639be5498831f9d37.tar.xz
glibc-9ec9e34ee301ccfa4216939639be5498831f9d37.zip
Update.
	* internals.h (strict __pthread_descr_struct): Add p_sem_avail.
	* semaphore.c: Handle spurious wakeups.

	* sysdeps/pthread/pthread.h: Add back PTHREAD_MUTX_FAST_NP as an alias
	for PTHREAD_MUTEX_ADAPTIVE_NP for source code compatibility.

	* pthread.c (__pthread_set_own_extricate): Use THREAD_GETMEM.
	(__pthread_wait_for_restart): Likewise.

	* condvar.c (pthread_cond_wait): Also check whether thread is
	cancelable before aborting loop.
	(pthread_cond_timedwait): Likewise.
Diffstat (limited to 'linuxthreads/internals.h')
-rw-r--r--linuxthreads/internals.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index 2ed49295ee..93ec93620c 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -168,6 +168,7 @@ struct _pthread_descr_struct {
 					   called on thread */
   char p_woken_by_cancel;       /* cancellation performed wakeup */
   char p_condvar_avail;		/* flag if conditional variable became avail */
+  char p_sem_avail;             /* flag if semaphore became available */
   pthread_extricate_if *p_extricate; /* See above */
   pthread_readlock_info *p_readlock_list;  /* List of readlock info structs */
   pthread_readlock_info *p_readlock_free;  /* Free list of structs */