summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/spawn.cc6
2 files changed, 7 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 575e0f69f..e4cfae5c2 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+Sat Oct 21 01:52:54 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * spawn.cc (spawn_guts): Don't do the reparenting step if we notice
+ that the child has exited prior to sending the subprocess_ready signal
+ (?).
+
Sat Oct 21 00:46:36 2000 Christopher Faylor <cgf@cygnus.com>
* fhandler.h (fhandler_console): Remove tcsetpgrp.
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index f6aafd7cf..b4d65ba2d 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -735,10 +735,6 @@ skip_arg_parsing:
exitcode = 1;
res |= exitcode;
exited = TRUE;
-
- if (nwait > 2 && !(res & EXIT_REPARENTING) &&
- (mode == _P_OVERLAY || mode == _P_VFORK))
- res |= EXIT_REPARENTING;
break;
case WAIT_OBJECT_0 + 1:
sigproc_printf ("signal arrived");
@@ -822,7 +818,7 @@ skip_arg_parsing:
case _P_OVERLAY:
ForceCloseHandle1 (pi.hProcess, childhProc);
proc_terminate ();
- myself->exit (0, 1);
+ myself->exit (res, 1);
break;
case _P_WAIT:
waitpid (cygpid, (int *) &res, 0);