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 | |
parent | f6d77b2076c566a082da5b95007ea5786eaf2dc0 (diff) | |
download | glibc-3abc82c8ce46447abc38762069beb548a554f382.zip glibc-3abc82c8ce46447abc38762069beb548a554f382.tar.gz glibc-3abc82c8ce46447abc38762069beb548a554f382.tar.bz2 |
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.
-rw-r--r-- | libidn/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/ChangeLog | 6 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/pthread_cond_wait.c | 6 |
3 files changed, 14 insertions, 3 deletions
diff --git a/libidn/ChangeLog b/libidn/ChangeLog index f5bc21b..5e2f6e1 100644 --- a/libidn/ChangeLog +++ b/libidn/ChangeLog @@ -1,3 +1,8 @@ +2004-05-21 Ulrich Drepper <drepper@redhat.com> + + * idna.c (idna_to_unicode_4z4z): Fix test for failed memory allocation. + Patch by Simon Josefsson. + 2004-05-06 Ulrich Drepper <drepper@redhat.com> * stringprep.c (stringprep): Free memory if allocation failed. diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 592f73b..5f1f61c 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 a05060a..128f5a2 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; } |