diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/sysdeps/pthread/pthread_cond_broadcast.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/nptl/sysdeps/pthread/pthread_cond_broadcast.c b/nptl/sysdeps/pthread/pthread_cond_broadcast.c index 7ae1602fc1..1076fe3c50 100644 --- a/nptl/sysdeps/pthread/pthread_cond_broadcast.c +++ b/nptl/sysdeps/pthread/pthread_cond_broadcast.c @@ -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. */ |