about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/semaphore.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 8acde7bddd..5fbba3ab17 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+1998-12-29  Ulrich Drepper  <drepper@cygnus.com>
+
+	* semaphore.c (sem_trywait): Don't forget to unlock the semaphore
+	lock.  Patch by Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>.
+
 1998-12-21  Ulrich Drepper  <drepper@cygnus.com>
 
 	* manager.c: Threads now send __pthread_sig_cancel on termination.
diff --git a/linuxthreads/semaphore.c b/linuxthreads/semaphore.c
index cb23a71a78..eca68d2f77 100644
--- a/linuxthreads/semaphore.c
+++ b/linuxthreads/semaphore.c
@@ -77,6 +77,7 @@ int sem_trywait(sem_t * sem)
     sem->sem_value--;
     retval = 0;
   }
+  __pthread_unlock((struct _pthread_fastlock *) &sem->sem_lock);
   return retval;
 }