Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 25 May 2001 07:39:56 +0000 (07:39 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 25 May 2001 07:39:56 +0000 (07:39 +0000)
2001-05-25  Ulrich Drepper  <drepper@redhat.com>

* oldsemaphore.c (__old_sem_wait): Clear p_nextwaiting before
returning successfully.
Patch by Gene Cooperman <gene@ccs.neu.edu>.

linuxthreads/ChangeLog
linuxthreads/oldsemaphore.c

index 6282a60..b9d592c 100644 (file)
@@ -1,3 +1,9 @@
+2001-05-25  Ulrich Drepper  <drepper@redhat.com>
+
+       * oldsemaphore.c (__old_sem_wait): Clear p_nextwaiting before
+       returning successfully.
+       Patch by Gene Cooperman <gene@ccs.neu.edu>.
+
 2001-05-24  Ulrich Drepper  <drepper@redhat.com>
 
        * spinlock.c (__pthread_lock) [HAS_COMPARE_AND_SWAP]: Before doing any
index 2099b8b..80a82df 100644 (file)
@@ -113,7 +113,8 @@ int __old_sem_wait(old_sem_t * sem)
        while (! sem_compare_and_swap(sem, oldstatus, newstatus));
        if (newstatus & 1) {
            /* We got the semaphore. */
-         __pthread_set_own_extricate_if(self, 0);
+           __pthread_set_own_extricate_if(self, 0);
+           self->p_nextwaiting = NULL;
            return 0;
        }
        /* Wait for sem_post or cancellation */