aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libidn/ChangeLog5
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/pthread/pthread_cond_wait.c6
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;
}