diff options
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index f77472ba5..95d87e55e 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -374,14 +374,13 @@ proc_terminate () int i; for (i = 0; i < nprocs; i++) { - extern child_info_spawn *chExeced; - /* Don't reset the ppid to 1 if this pid is still going to be - associated with a process. - FIXME: The problem with this simplistic approach is that the - ppid for any surviving children will never be set to 1 in - this scenario. A potential fix would be to move procs into - cygheap but that would complicate startup. What else is new? */ - if (!chExeced) + /* FIXME: Resetting the ppid to 1 when this process execs is decidedly + non-UNIXy. We should, at the very least, keep a list of pids + for the exec process to reset when *it* exits. However, avoiding + setting ppid when we are exec'ing causes the ppid to *never* be + set to 1 so we don't do that either. + if (!hExeced) + */ procs[i]->ppid = 1; if (procs[i].wait_thread) { |