* cygwait.cc (cancelable_wait): Add some debugging-only output.

* exceptions.cc (sig_handle_tty_stop): Make sure that incyg is cleared when
exiting if we have no parent process.  Only wait for signal_arrived.
(sigpacket::process): Make continue_now a bool.  Delay sending signal_arrived
until the end.  Make code more defensive to avoid calling signal handler when
stopped.  Only set signal_arrived when stopped.
* sigproc.cc (sig_hold): Rename from sigCONT.  Make static.
(sig_send): Accommodate sigCONT -> sig_hold rename.
(wait_sig): Ditto.
* sigproc.h (sigCONT): Delete declaration.
* fhandler_console.cc (fhandler_console::write): Use new '%0c' facility to
print characters.  Change to paranoid to avoid excessive strace output.
* fhandler_tty.cc (fhandler_pty_master::accept_input): Make frequent strace
printf "paranoid" to help cut down on strace output size.
* signal.cc (sigsuspend): Add standard syscall strace output.
(sigpause): Ditto.
(pause): Ditto.
* cygtls.h (_cygtls::reset_signal_arrived): New function.
This commit is contained in:
Christopher Faylor
2012-07-30 03:44:40 +00:00
parent c1a11ccfca
commit d239805457
8 changed files with 75 additions and 48 deletions

View File

@@ -517,19 +517,25 @@ sigfillset (sigset_t *set)
extern "C" int
sigsuspend (const sigset_t *set)
{
return handle_sigsuspend (*set);
int res = handle_sigsuspend (*set);
syscall_printf ("%R = sigsuspend(%p)", res, set);
return res;
}
extern "C" int
sigpause (int signal_mask)
{
return handle_sigsuspend ((sigset_t) signal_mask);
int res = handle_sigsuspend ((sigset_t) signal_mask);
syscall_printf ("%R = sigpause(%p)", res, signal_mask);
return res;
}
extern "C" int
pause (void)
{
return handle_sigsuspend (_my_tls.sigmask);
int res = handle_sigsuspend (_my_tls.sigmask);
syscall_printf ("%R = pause()", res);
return res;
}
extern "C" int