diff options
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 5 |
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); } |