fix failure-to-wake in rwlock unlock
authorRich Felker <dalias@aerifal.cx>
Sat, 1 Oct 2011 13:11:35 +0000 (09:11 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 1 Oct 2011 13:11:35 +0000 (09:11 -0400)
commitb85fec2ded3f005b877e25b63215c0d09d4a9f7f
treea990adab7dd2668c7d2b34bd6ef53056c21be309
parent8b98c09f8c6a0c366f06b7e6a4b3555a07e5244d
fix failure-to-wake in rwlock unlock

a reader unlocking the lock need only wake one waiter (necessarily a
writer, but a writer unlocking the lock must wake all waiters
(necessarily readers). if it only wakes one, the remainder can remain
blocked indefinitely, or at least until the first reader unlocks (in
which case the whole lock becomes serialized and behaves as a mutex
rather than a read lock).
src/thread/pthread_rwlock_unlock.c