summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/exceptions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 0054b1a2c..38879ee6e 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1017,6 +1017,8 @@ exit_sig:
static void
signal_exit (int rc)
{
+ extern HANDLE hExeced;
+
rc = EXIT_SIGNAL | (rc << 8);
if (exit_already++)
myself->exit (rc);
@@ -1035,6 +1037,9 @@ signal_exit (int rc)
user_data->resourcelocks->Delete ();
user_data->resourcelocks->Init ();
+ if (hExeced)
+ TerminateProcess (hExeced, rc);
+
do_exit (rc);
}