diff options
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/thread.cc | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index ce65d3e03..2c9198030 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,10 @@ 2004-04-12 Christopher Faylor <cgf@alum.bu.edu> + * thread.cc (pthread::thread_init_wrapper): Wait later to get more + parallel behavior. + +2004-04-12 Christopher Faylor <cgf@alum.bu.edu> + * thread.cc (pthread::create): Use thread mutex to control synchronization rather than creating a suspended thread. Wait for "cancellation event" to indicate that started thread has been properly diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index 24c3f56ce..d56d731c8 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -301,10 +301,10 @@ pthread::create (void *(*func) (void *), pthread_attr *newattr, } else { + postcreate (); if (WaitForSingleObject (cancel_event, 5000) != WAIT_OBJECT_0) thread_printf ("event never arrived after CreateThread"); ResetEvent (cancel_event); - postcreate (); } mutex.unlock (); } |