summary refs log tree commit diff
path: root/nptl/pthread_rwlock_rdlock.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-07-23 16:07:53 +0000
committerUlrich Drepper <drepper@redhat.com>2007-07-23 16:07:53 +0000
commiteb7721f232df0721906eeb0993651aa8c32aed8d (patch)
treeb7d736992383840ebc2ff600e0accf8e23b5751d /nptl/pthread_rwlock_rdlock.c
parentdefc45f2fa505a2f51b3d4b78e190a41ff53181e (diff)
downloadglibc-eb7721f232df0721906eeb0993651aa8c32aed8d.tar.gz
glibc-eb7721f232df0721906eeb0993651aa8c32aed8d.tar.xz
glibc-eb7721f232df0721906eeb0993651aa8c32aed8d.zip
* pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Add LLL_SHARED
	parameter to lll_futex_wait call.
	* pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise.

	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
	Replace lll_futex_wait with lll_private_futex_wait.
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
	Add LLL_SHARED parameter to lll_futex_wake().

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define LLL_PRIVATE
	LLL_SHARED, lll_private_futex_wait, lll_private_futex_timed_wait and
	lll_private_futex_wake.
	(lll_futex_wait): Add private parameter. Adjust FUTEX_PRIVATE_FLAG
	bit from private parm before syscall.
	(lll_futex_timed_wait): Likewise.
	(lll_futex_wake): Likewise.
	(lll_futex_wake_unlock): Likewise.
	(lll_mutex_unlock): Add LLL_SHARED parm to lll_futex_wake call.
	(lll_robust_mutex_unlock): Likewise.
	(lll_mutex_unlock_force): Likewise.
	(lll_wait_tid): Add LLL_SHARED parm to lll_futex_wait call.
Diffstat (limited to 'nptl/pthread_rwlock_rdlock.c')
-rw-r--r--nptl/pthread_rwlock_rdlock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c
index 6764c1e9ad..b8f9d41d6a 100644
--- a/nptl/pthread_rwlock_rdlock.c
+++ b/nptl/pthread_rwlock_rdlock.c
@@ -77,7 +77,9 @@ __pthread_rwlock_rdlock (rwlock)
       lll_mutex_unlock (rwlock->__data.__lock);
 
       /* Wait for the writer to finish.  */
-      lll_futex_wait (&rwlock->__data.__readers_wakeup, waitval);
+      lll_futex_wait (&rwlock->__data.__readers_wakeup, waitval, 
+		      // XYZ check mutex flag
+		      LLL_SHARED);
 
       /* Get the lock.  */
       lll_mutex_lock (rwlock->__data.__lock);