From 4c45a897440c6517ab607daa36163f589863d09c Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 24 Oct 2000 02:25:27 +0000 Subject: * 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. --- winsup/cygwin/exceptions.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'winsup/cygwin/exceptions.cc') 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); } -- cgit v1.2.3