mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-28 04:03:35 +08:00
(__pthread_cond_broadcast): Release lock before waking waiters.
This commit is contained in:
parent
ca341eb2bd
commit
bbb9ba4324
@ -40,6 +40,9 @@ __pthread_cond_broadcast (cond)
|
||||
/* Yes. Mark them all as woken. */
|
||||
cond->__data.__wakeup_seq = cond->__data.__total_seq;
|
||||
|
||||
/* We are done. */
|
||||
lll_mutex_unlock (cond->__data.__lock);
|
||||
|
||||
/* The futex syscall operates on a 32-bit word. That is fine,
|
||||
we just use the low 32 bits of the sequence counter. */
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
@ -52,6 +55,9 @@ __pthread_cond_broadcast (cond)
|
||||
|
||||
/* Wake everybody. */
|
||||
lll_futex_wake (futex, INT_MAX);
|
||||
|
||||
/* That's all. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* We are done. */
|
||||
|
Loading…
Reference in New Issue
Block a user