diff options
author | Christopher Faylor <me@cgf.cx> | 2001-03-19 22:48:26 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-03-19 22:48:26 +0000 |
commit | b8c8fa178681ad7596e5d4217735e7ec948dc7a7 (patch) | |
tree | 3e0dbe9d695d7b5b5ab5df1823b107d72f26b9a7 /winsup/cygwin/exceptions.cc | |
parent | 78ace8a7e5103099f20423acbc6d03c1b5d53fdd (diff) | |
download | newlib-b8c8fa178681ad7596e5d4217735e7ec948dc7a7.zip newlib-b8c8fa178681ad7596e5d4217735e7ec948dc7a7.tar.gz newlib-b8c8fa178681ad7596e5d4217735e7ec948dc7a7.tar.bz2 |
* exceptions.cc (interruptible): Update debugging output.
(setup_handler): Ensure that wait_sig loop wakes up when we punt on sending a
signal.
* poll.cc (poll): Add signal guard here.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index c0d88a8..0c138ef 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -640,10 +640,8 @@ interruptible (DWORD pc, int testvalid = 0) else res = !strncasematch (windows_system_directory, checkdir, windows_system_directory_length); - minimal_printf ("h %p", h); # undef h - - minimal_printf ("interruptible %d", res); + sigproc_printf ("h %p, interruptible %d", res); return res; } @@ -856,11 +854,13 @@ setup_handler (int sig, void *handler, struct sigaction& siga) break; } -set_pending: + set_pending: if (!interrupted) { pending_signals = 1; /* FIXME: Probably need to be more tricky here */ sig_set_pending (sig); + sig_dispatch_pending (1); + Sleep (0); /* Hopefully, other process will be waking up soon. */ sigproc_printf ("couldn't send signal %d", sig); } else |