* exceptions.cc (_cygtls::call_signal_handler): Fix debugging to not go to

console.
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Add temporary kludge
to work around problem of make closing a handler while it is being read.
* gendef (sigdelayed): Don't call a function if sig has been cleared.
* sigproc.h (cygwait): Simplify slightly.
This commit is contained in:
Christopher Faylor
2011-12-16 05:27:15 +00:00
parent e553b822e2
commit 08e4b6acb7
5 changed files with 38 additions and 20 deletions

View File

@ -87,14 +87,11 @@ cygwait (HANDLE h, DWORD howlong = INFINITE)
HANDLE w4[3];
DWORD n = 0;
DWORD wait_signal;
if ((w4[n] = h) == NULL)
if ((w4[n] = h) != NULL)
wait_signal = WAIT_OBJECT_0 + ++n;
else
wait_signal = WAIT_OBJECT_0 + 15; /* Arbitrary. Don't call signal
handler if only waiting for signal */
else
{
n++;
wait_signal = n;
}
w4[n++] = signal_arrived;
if ((w4[n] = pthread::get_cancel_event ()) != NULL)
n++;