diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0ea1da2d5..b34f09400 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2003-06-02 Christopher Faylor + + * spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist. + 2003-06-02 Christopher Faylor * cygthread.h (cygthread::terminate_thread): Mark private. diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index e92aa29df..b6ec1b9b4 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 ();