* cygwait.h (LARGE_NULL): Define.

(cancelable_wait): Define variant which accepts DWORD time argument.
(cygwait): Use cancelable_wait with DWORD argument.
(cygwait): Use cancelable_wait with DWORD argument and cw_sig_eintr for
timeout-only case.
* exceptions.cc (handle_sigsuspend): Use LARGE_NULL as second argument to
distinguish between cancelable_wait variants.
* thread.cc (pthread_mutex::lock): Ditto.
(pthread::join): Ditto.
(semaphore::_timedwait): Ditto.
* thread.h (fast_mutex::lock): Ditto.
* wait.cc (wait4): Ditto.
This commit is contained in:
Christopher Faylor
2012-06-19 00:52:59 +00:00
parent 2addde8cb1
commit 978441cc0e
6 changed files with 31 additions and 9 deletions

View File

@ -715,7 +715,7 @@ handle_sigsuspend (sigset_t tempmask)
sigproc_printf ("oldmask %p, newmask %p", oldmask, tempmask);
pthread_testcancel ();
cancelable_wait (signal_arrived, NULL, cw_cancel | cw_cancel_self);
cancelable_wait (signal_arrived, LARGE_NULL, cw_cancel | cw_cancel_self);
set_sig_errno (EINTR); // Per POSIX