aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-03-15 19:29:15 +0000
committerChristopher Faylor <me@cgf.cx>2000-03-15 19:29:15 +0000
commit181438ea702c4b8488365a5fdf3fea52bca7b4a6 (patch)
tree9192ea3a60dc72185f54dd552e1da0ea364e6850
parent1b534ee1beb399889ef5e21b2aefda81d6fb4d2e (diff)
downloadnewlib-181438ea702c4b8488365a5fdf3fea52bca7b4a6.zip
newlib-181438ea702c4b8488365a5fdf3fea52bca7b4a6.tar.gz
newlib-181438ea702c4b8488365a5fdf3fea52bca7b4a6.tar.bz2
* spawn.cc (spawn_guts): Restore dependency on signal_arrived. It's needed to
wake up the WaitForSingleObject.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/spawn.cc8
2 files changed, 11 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c04ecc2..1b7c22d 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+Wed Mar 15 14:25:38 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * spawn.cc (spawn_guts): Restore dependency on signal_arrived. It's
+ needed to wake up the WaitForSingleObject.
+
Tue Mar 14 23:41:16 2000 Christopher Faylor <cgf@cygnus.com>
Pipe changes throughout suggested by Eric Fifer <EFifer@sanwaint.com>
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index e4f41b2..e1a191c 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -635,8 +635,8 @@ skip_arg_parsing:
{
BOOL exited;
- HANDLE waitbuf[2] = {pi.hProcess, spr};
- int nwait = 2;
+ HANDLE waitbuf[3] = {pi.hProcess, signal_arrived, spr};
+ int nwait = 3;
SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_HIGHEST);
res = 0;
@@ -675,6 +675,10 @@ skip_arg_parsing:
}
break;
case WAIT_OBJECT_0 + 1:
+ sigproc_printf ("signal arrived");
+ ResetEvent (signal_arrived);
+ continue;
+ case WAIT_OBJECT_0 + 2:
res = EXIT_REPARENTING;
MALLOC_CHECK;
ForceCloseHandle (spr);