summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/cygwait.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2012-07-30 03:44:40 +0000
committerChristopher Faylor <me@cgf.cx>2012-07-30 03:44:40 +0000
commitd239805457f0dc790559b2173e943e5aebe90c4e (patch)
treea015664429e36ad8caa921deb24e5202d442bf34 /winsup/cygwin/cygwait.cc
parentc1a11ccfca40ec5d162caf747bca94d9b698c34e (diff)
downloadcygnal-d239805457f0dc790559b2173e943e5aebe90c4e.tar.gz
cygnal-d239805457f0dc790559b2173e943e5aebe90c4e.tar.bz2
cygnal-d239805457f0dc790559b2173e943e5aebe90c4e.zip
* 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.
Diffstat (limited to 'winsup/cygwin/cygwait.cc')
-rw-r--r--winsup/cygwin/cygwait.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/cygwait.cc b/winsup/cygwin/cygwait.cc
index d1247f4d1..ee7a705ef 100644
--- a/winsup/cygwin/cygwait.cc
+++ b/winsup/cygwin/cygwait.cc
@@ -39,7 +39,7 @@ cancelable_wait (HANDLE object, PLARGE_INTEGER timeout, unsigned mask)
wait_objects[num++] = object;
set_signal_arrived thread_waiting (is_cw_sig_handle, wait_objects[num]);
-debug_printf ("thread waiting %d, signal_arrived %p", (int) thread_waiting, _my_tls.signal_arrived);
+ debug_only_printf ("object %p, thread waiting %d, signal_arrived %p", object, (int) thread_waiting, _my_tls.signal_arrived);
DWORD sig_n;
if (!thread_waiting)
sig_n = WAIT_TIMEOUT + 1;
@@ -72,6 +72,7 @@ debug_printf ("thread waiting %d, signal_arrived %p", (int) thread_waiting, _my_
while (1)
{
res = WaitForMultipleObjects (num, wait_objects, FALSE, INFINITE);
+ debug_only_printf ("res %d", res);
if (res == cancel_n)
res = WAIT_CANCELED;
else if (res == timeout_n)