diff options
author | Christopher Faylor <me@cgf.cx> | 2009-08-02 21:38:40 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2009-08-02 21:38:40 +0000 |
commit | ff7b364c121175ad1b5b88ec4010ee81dab1e5c4 (patch) | |
tree | d3951e2ea010936dd2c5a3973e8021184ff69440 /winsup/cygwin/sigproc.cc | |
parent | fafbf75509c175bc5c80e4b761333fa85aaccca0 (diff) | |
download | cygnal-ff7b364c121175ad1b5b88ec4010ee81dab1e5c4.tar.gz cygnal-ff7b364c121175ad1b5b88ec4010ee81dab1e5c4.tar.bz2 cygnal-ff7b364c121175ad1b5b88ec4010ee81dab1e5c4.zip |
* sigproc.cc (stopped_or_terminated): Don't return a match when stopsig ==
SIGCONT and not WCONTINUED.
* termios.cc (tcsetpgrp): Improve debugging output.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 9c11ea022..bbbe9831e 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1041,8 +1041,9 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child) int terminated; - if (!((terminated = (child->process_state == PID_EXITED)) || - ((w->options & (WUNTRACED | WCONTINUED)) && child->stopsig))) + if (!((terminated = (child->process_state == PID_EXITED)) + || ((w->options & WCONTINUED) && child->stopsig == SIGCONT) + || ((w->options & WUNTRACED) && child->stopsig && child->stopsig != SIGCONT))) return false; parent_w->next = w->next; /* successful wait. remove from wait queue */ @@ -1050,7 +1051,7 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child) if (!terminated) { - sigproc_printf ("stopped child"); + sigproc_printf ("stopped child, stopsig %d", child->stopsig); if (child->stopsig == SIGCONT) w->status = __W_CONTINUED; else |