diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/spawn.cc | 4 |
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 (); |