diff options
Diffstat (limited to 'nptl/pthread_rwlock_unlock.c')
-rw-r--r-- | nptl/pthread_rwlock_unlock.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/nptl/pthread_rwlock_unlock.c b/nptl/pthread_rwlock_unlock.c index 9cae8b6..87a77a9 100644 --- a/nptl/pthread_rwlock_unlock.c +++ b/nptl/pthread_rwlock_unlock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003. @@ -38,14 +38,18 @@ __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) { ++rwlock->__data.__writer_wakeup; lll_mutex_unlock (rwlock->__data.__lock); - lll_futex_wake (&rwlock->__data.__writer_wakeup, 1); + lll_futex_wake (&rwlock->__data.__writer_wakeup, 1, + // XYZ check mutex flag + LLL_SHARED); return 0; } else if (rwlock->__data.__nr_readers_queued) { ++rwlock->__data.__readers_wakeup; lll_mutex_unlock (rwlock->__data.__lock); - lll_futex_wake (&rwlock->__data.__readers_wakeup, INT_MAX); + lll_futex_wake (&rwlock->__data.__readers_wakeup, INT_MAX, + // XYZ check mutex flag + LLL_SHARED); return 0; } } |