diff options
-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; } |