diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-05-21 16:19:16 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-05-21 16:19:16 +0000 |
commit | 3abc82c8ce46447abc38762069beb548a554f382 (patch) | |
tree | abfeafe9373aa8b996f27167ea9b08b9d650731f /nptl | |
parent | f6d77b2076c566a082da5b95007ea5786eaf2dc0 (diff) | |
download | glibc-3abc82c8ce46447abc38762069beb548a554f382.tar.gz glibc-3abc82c8ce46447abc38762069beb548a554f382.tar.xz glibc-3abc82c8ce46447abc38762069beb548a554f382.zip |
Update.
2004-05-21 Ulrich Drepper <drepper@redhat.com> * idna.c (idna_to_unicode_4z4z): Fix test for failed memory allocation. Patch by Simon Josefsson.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 6 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/pthread_cond_wait.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 592f73b095..5f1f61c088 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,9 @@ +2004-05-21 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Compare + __broadcast_seq with bc_seq after acquiring internal lock instead of + before it. + 2004-05-18 Jakub Jelinek <jakub@redhat.com> * Makefile (.NOTPARALLEL): Only serialize make check/xcheck, not diff --git a/nptl/sysdeps/pthread/pthread_cond_wait.c b/nptl/sysdeps/pthread/pthread_cond_wait.c index a05060a107..128f5a2d99 100644 --- a/nptl/sysdeps/pthread/pthread_cond_wait.c +++ b/nptl/sysdeps/pthread/pthread_cond_wait.c @@ -143,13 +143,13 @@ __pthread_cond_wait (cond, mutex) /* Disable asynchronous cancellation. */ __pthread_disable_asynccancel (cbuffer.oldtype); + /* We are going to look at shared data again, so get the lock. */ + lll_mutex_lock (cond->__data.__lock); + /* If a broadcast happened, we are done. */ if (cbuffer.bc_seq != cond->__data.__broadcast_seq) goto bc_out; - /* We are going to look at shared data again, so get the lock. */ - lll_mutex_lock (cond->__data.__lock); - /* Check whether we are eligible for wakeup. */ val = cond->__data.__wakeup_seq; } |