Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r--winsup/cygwin/spawn.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index db2603e30..d461e532b 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -743,6 +743,7 @@ skip_arg_parsing:
HANDLE waitbuf[3] = {pi.hProcess, signal_arrived, spr};
int nwait = 3;
+ bool saw_signal = 0;
res = 0;
exited = FALSE;
@@ -761,8 +762,8 @@ skip_arg_parsing:
break;
case WAIT_OBJECT_0 + 1:
sigproc_printf ("signal arrived");
- // reset_signal_arrived ();
- thisframe.call_signal_handler ();
+ reset_signal_arrived ();
+ saw_signal = 1;
continue;
case WAIT_OBJECT_0 + 2:
if (mode == _P_OVERLAY)
@@ -820,6 +821,9 @@ skip_arg_parsing:
}
}
+ if (saw_signal && mode != _P_OVERLAY)
+ thisframe.call_signal_handler ();
+
MALLOC_CHECK;
switch (mode)