diff options
Diffstat (limited to 'winsup/cygwin/cygwait.cc')
-rw-r--r-- | winsup/cygwin/cygwait.cc | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/winsup/cygwin/cygwait.cc b/winsup/cygwin/cygwait.cc index 377012a1a..9b22bd01f 100644 --- a/winsup/cygwin/cygwait.cc +++ b/winsup/cygwin/cygwait.cc @@ -21,8 +21,6 @@ #define is_cw_sig_handle (mask & (is_cw_sig | is_cw_sig_eintr)) -TIMER_BASIC_INFORMATION cw_nowait; - DWORD cancelable_wait (HANDLE object, PLARGE_INTEGER timeout, unsigned mask) { @@ -85,11 +83,8 @@ cancelable_wait (HANDLE object, PLARGE_INTEGER timeout, unsigned mask) /* all set */; else if (is_cw_sig_eintr) res = WAIT_SIGNALED; - else - { - _my_tls.call_signal_handler (); - continue; - } + else if (_my_tls.call_signal_handler () || &_my_tls != _main_tls) + continue; break; } |