* 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.
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user