diff options
author | Christopher Faylor <me@cgf.cx> | 2011-05-05 15:03:54 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-05-05 15:03:54 +0000 |
commit | b8424c5e9a7aaa08ece65fd1e67deeb4437050cf (patch) | |
tree | ff94cbf60cb5b41c18c8c0444ae5f1dd8f83eac1 /winsup/cygwin/sigproc.cc | |
parent | 1395dac1d021fa42b0a5de32de91a076d1e6d58a (diff) | |
download | cygnal-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.cc | 2 |
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; |