Index: thread.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/thread.cc,v
retrieving revision 1.32
diff -u -p -r1.32 thread.cc
--- thread.cc	2001/05/06 22:23:43	1.32
+++ thread.cc	2001/06/04 10:34:58
@@ -424,7 +424,10 @@ pthread_cond::BroadCast ()
     {
       if (pthread_mutex_unlock (&cond_access))
         system_printf ("Failed to unlock condition variable access mutex, this %0p\n", this);
-      system_printf ("Broadcast called with invalid mutex\n");
+      /* This isn't and API error - users are allowed to call this when no threads 
+	 are waiting 
+	 system_printf ("Broadcast called with invalid mutex\n");
+      */
       return;
     }
   while (count--)
@@ -1639,6 +1642,8 @@ __pthread_cond_timedwait (pthread_cond_t
   if ((((pshared_mutex *)(mutex))->flags & SYS_BASE == SYS_BASE))
     // a pshared mutex
     themutex = __pthread_mutex_getpshared (mutex);
+  else
+    themutex = mutex;
 
   if (!verifyable_object_isvalid (*themutex, PTHREAD_MUTEX_MAGIC))
     return EINVAL;
@@ -1685,6 +1690,8 @@ __pthread_cond_wait (pthread_cond_t * co
   if ((((pshared_mutex *)(mutex))->flags & SYS_BASE == SYS_BASE))
     // a pshared mutex
     themutex = __pthread_mutex_getpshared (mutex);
+  else
+    themutex = mutex;
   if (!verifyable_object_isvalid (*themutex, PTHREAD_MUTEX_MAGIC))
     return EINVAL;
   if (!verifyable_object_isvalid (*cond, PTHREAD_COND_MAGIC))
