Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2009-08-03 01:38:40 +0400
committerChristopher Faylor <me@cgf.cx>2009-08-03 01:38:40 +0400
commitff7b364c121175ad1b5b88ec4010ee81dab1e5c4 (patch)
treed3951e2ea010936dd2c5a3973e8021184ff69440 /winsup/cygwin/sigproc.cc
parentfafbf75509c175bc5c80e4b761333fa85aaccca0 (diff)
* 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.cc7
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