summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_fifo.cc4
-rw-r--r--winsup/cygwin/thread.cc2
3 files changed, 7 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index e7f155dff..4b66e024d 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2011-05-02 Corinna Vinschen <corinna@vinschen.de>
+ * thread.cc (cancelable_wait): Remove test for main thread.
+ * fhandler_fifo.cc (fhandler_fifo::open_nonserver): Ditto.
+
+2011-05-02 Corinna Vinschen <corinna@vinschen.de>
+
* fhndler_tty.cc (andler_pty_master::process_slave_output): Make
interruptible and cancelable. Fix nonblocking case.
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
{