aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/spawn.cc4
2 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 0ea1da2..b34f094 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2003-06-02 Christopher Faylor <cgf@redhat.com>
+ * spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist.
+
+2003-06-02 Christopher Faylor <cgf@redhat.com>
+
* cygthread.h (cygthread::terminate_thread): Mark private.
* cygthread.cc (cygthread::terminate_thread): Deallocate free_range
thread stuff.
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index e92aa29..b6ec1b9 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -800,9 +800,9 @@ spawn_guts (const char * prog_arg, const char *const *argv,
reset_signal_arrived ();
continue;
case WAIT_OBJECT_0 + 2:
- if (myself->ppid_handle)
+ if (my_parent_is_alive ())
res |= EXIT_REPARENTING;
- if (!my_parent_is_alive ())
+ else if (!myself->ppid_handle)
{
nwait = 2;
sigproc_terminate ();