diff options
author | Christopher Faylor <me@cgf.cx> | 2000-10-24 02:25:27 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-10-24 02:25:27 +0000 |
commit | 4c45a897440c6517ab607daa36163f589863d09c (patch) | |
tree | 51c40b8f6e77c09fe5adfbec9b21c93a4b9b7495 /winsup/cygwin/exceptions.cc | |
parent | 00ee2b44e796d03e3ce805a731d719ad17254fac (diff) | |
download | cygnal-4c45a897440c6517ab607daa36163f589863d09c.tar.gz cygnal-4c45a897440c6517ab607daa36163f589863d09c.tar.bz2 cygnal-4c45a897440c6517ab607daa36163f589863d09c.zip |
* exceptions.cc (signal_exit): Kill any executing child process if we're dying.
* path.h: Remove unneeded extern.
* spawn.cc (std_suffixes): Make static. Don't set dwProcessId here since it
makes the process unsignalable. Set strace flag that this is an execed process
stub.
* strace.cc (strace::vsprntf): Use strace flag to indicate when to visually
flag that this is an exec stub.
* include/sys/strace.h (strace): Add 'execing' flag.
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); } |