* 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

@@ -60,7 +60,7 @@ public:
void lock ()
{
if (InterlockedIncrement ((long *) &lock_counter) != 1)
cancelable_wait (win32_obj_id, NULL, cw_sig);
cancelable_wait (win32_obj_id, LARGE_NULL, cw_sig);
}
void unlock ()