diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-05-25 07:39:56 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-05-25 07:39:56 +0000 |
commit | 17ffa4986db1ce263a8a3c4c322dc237cfaa2777 (patch) | |
tree | fe8ed226584c878ece16194d3f504d99edaade54 /linuxthreads/oldsemaphore.c | |
parent | 47e5d2a8b132c73bc0659baad25714326fb333c9 (diff) | |
download | glibc-17ffa4986db1ce263a8a3c4c322dc237cfaa2777.zip glibc-17ffa4986db1ce263a8a3c4c322dc237cfaa2777.tar.gz glibc-17ffa4986db1ce263a8a3c4c322dc237cfaa2777.tar.bz2 |
Update.
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>.
Diffstat (limited to 'linuxthreads/oldsemaphore.c')
-rw-r--r-- | linuxthreads/oldsemaphore.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/linuxthreads/oldsemaphore.c b/linuxthreads/oldsemaphore.c index 2099b8b..80a82df 100644 --- a/linuxthreads/oldsemaphore.c +++ b/linuxthreads/oldsemaphore.c @@ -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 */ |