summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-05-05 15:03:54 +0000
committerChristopher Faylor <me@cgf.cx>2011-05-05 15:03:54 +0000
commitb8424c5e9a7aaa08ece65fd1e67deeb4437050cf (patch)
treeff94cbf60cb5b41c18c8c0444ae5f1dd8f83eac1 /winsup/cygwin/sigproc.cc
parent1395dac1d021fa42b0a5de32de91a076d1e6d58a (diff)
downloadcygnal-b8424c5e9a7aaa08ece65fd1e67deeb4437050cf.tar.gz
cygnal-b8424c5e9a7aaa08ece65fd1e67deeb4437050cf.tar.bz2
cygnal-b8424c5e9a7aaa08ece65fd1e67deeb4437050cf.zip
* fork.cc (fork): Clear PID_REAPED.
* pinfo.cc (pinfo_init): Ditto. (pinfo::init): Check for PID_REAPED. * sigproc.cc (stopped_or_terminated): Ditto.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 43655dc4c..8a6559f55 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -1022,7 +1022,7 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
int terminated;
- if (!((terminated = (child->process_state == PID_EXITED))
+ if (!((terminated = (child->process_state & (PID_REAPED | PID_EXITED)))
|| ((w->options & WCONTINUED) && child->stopsig == SIGCONT)
|| ((w->options & WUNTRACED) && child->stopsig && child->stopsig != SIGCONT)))
return false;