diff options
author | Christopher Faylor <me@cgf.cx> | 2001-06-15 03:53:27 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-06-15 03:53:27 +0400 |
commit | 47132198adf967c4dfd3f533e986cbe186315af1 (patch) | |
tree | 537ba426337357727b6ba7076c87f32469571af2 /winsup/cygwin/thread.cc | |
parent | 5a5f43a0b954df170d07390a16b3483dbcede42f (diff) |
* thread.cc (pthread_cond::Signal): Release the condition access variable
correctly.
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r-- | winsup/cygwin/thread.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index 894038855..7ab45aeeb 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -442,7 +442,12 @@ pthread_cond::Signal () if (pthread_mutex_lock (&cond_access)) system_printf ("Failed to lock condition variable access mutex, this %0p\n", this); if (!verifyable_object_isvalid (mutex, PTHREAD_MUTEX_MAGIC)) - return; + { + if (pthread_mutex_unlock (&cond_access)) + system_printf ("Failed to unlock condition variable access mutex, this %0p\n", + this); + return; + } PulseEvent (win32_obj_id); if (pthread_mutex_unlock (&cond_access)) system_printf ("Failed to unlock condition variable access mutex, this %0p\n", this); |