diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e7f155dff..4b66e024d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-05-02 Corinna Vinschen + + * thread.cc (cancelable_wait): Remove test for main thread. + * fhandler_fifo.cc (fhandler_fifo::open_nonserver): Ditto. + 2011-05-02 Corinna Vinschen * fhndler_tty.cc (andler_pty_master::process_slave_output): Make diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc index 35bc54dfe..72a5bd6c1 100644 --- a/winsup/cygwin/fhandler_fifo.cc +++ b/winsup/cygwin/fhandler_fifo.cc @@ -47,9 +47,7 @@ fhandler_fifo::open_nonserver (const char *npname, unsigned low_flags, FILE_FLAG_OVERLAPPED, NULL); if (h != INVALID_HANDLE_VALUE || GetLastError () != ERROR_PIPE_NOT_CONNECTED) return h; - if (&_my_tls != _main_tls) - yield (); - else if (IsEventSignalled (signal_arrived)) + if (IsEventSignalled (signal_arrived)) { set_errno (EINTR); return NULL; diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index 3de53f6fa..0ac810117 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -930,7 +930,7 @@ cancelable_wait (HANDLE object, DWORD timeout, } DWORD sig_n; - if (sig_wait == cw_sig_nosig || &_my_tls != _main_tls) + if (sig_wait == cw_sig_nosig) sig_n = WAIT_TIMEOUT + 1; else {