aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/oldsemaphore.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-05-25 07:39:56 +0000
committerUlrich Drepper <drepper@redhat.com>2001-05-25 07:39:56 +0000
commit17ffa4986db1ce263a8a3c4c322dc237cfaa2777 (patch)
treefe8ed226584c878ece16194d3f504d99edaade54 /linuxthreads/oldsemaphore.c
parent47e5d2a8b132c73bc0659baad25714326fb333c9 (diff)
downloadglibc-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.c3
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 */