aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-06-03 02:32:49 +0000
committerChristopher Faylor <me@cgf.cx>2003-06-03 02:32:49 +0000
commit0c8fe172781f9f2fc2aa2cd07effbbcca58a9a4e (patch)
tree002ef6710e6c8eaee08c2d0cf147d72e55f59ecf
parent38b524b3858c96cca78e32e80cb67509b38aab05 (diff)
downloadnewlib-0c8fe172781f9f2fc2aa2cd07effbbcca58a9a4e.zip
newlib-0c8fe172781f9f2fc2aa2cd07effbbcca58a9a4e.tar.gz
newlib-0c8fe172781f9f2fc2aa2cd07effbbcca58a9a4e.tar.bz2
* spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist.
-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 ();