* 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:
@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user