about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog12
-rw-r--r--nptl/DESIGN-condvar.txt2
2 files changed, 13 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 45ecd028b0..03c461222a 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,11 @@
+2003-03-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/pthread_cond_wait.c: Correct exit criteria.
+	* sysdeps/pthread/pthread_cond_timedwait.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
+	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
+	Patch by Ewald Snel <ewald@rambo.its.tudelft.nl>.
+
 2003-03-16  Roland McGrath  <roland@redhat.com>
 
 	* tst-fork4.c: Include <string.h>.
@@ -7,6 +15,10 @@
 
 2003-03-16  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
+	(__lll_mutex_timedlock_wait): Correct expected value after
+	spurious wakeup.  Otherwise we would never wait again.
+
 	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Work around red
 	zone versus inline asm stupidity.  Use correct instructions.
 
diff --git a/nptl/DESIGN-condvar.txt b/nptl/DESIGN-condvar.txt
index 7202e414ef..4a8212bae1 100644
--- a/nptl/DESIGN-condvar.txt
+++ b/nptl/DESIGN-condvar.txt
@@ -65,7 +65,7 @@ cond_timedwait(cv, mutex, timeout):
 
      val = cv->wakeup_seq;
 
-     if (cv->woken_seq >= seq && cv->woken_seq < val) {
+     if (val > seq && cv->woken_seq < val) {
        ret = 0;
        break;
      }