* 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:
@ -37,7 +37,7 @@ details. */
|
||||
|
||||
#define LINE_BUF_CHUNK (MAX_PATH * 2)
|
||||
|
||||
suffix_info std_suffixes[] =
|
||||
static suffix_info std_suffixes[] =
|
||||
{
|
||||
suffix_info (".exe", 1), suffix_info ("", 1),
|
||||
suffix_info (".com"), suffix_info (".cmd"),
|
||||
@ -45,6 +45,8 @@ suffix_info std_suffixes[] =
|
||||
suffix_info (NULL)
|
||||
};
|
||||
|
||||
HANDLE hExeced;
|
||||
|
||||
/* Add .exe to PROG if not already present and see if that exists.
|
||||
If not, return PROG (converted from posix to win32 rules if necessary).
|
||||
The result is always BUF.
|
||||
@ -671,7 +673,8 @@ skip_arg_parsing:
|
||||
/* These are both duplicated in the child code. We do this here,
|
||||
primarily for strace. */
|
||||
strcpy (myself->progname, real_path);
|
||||
myself->dwProcessId = pi.dwProcessId;
|
||||
strace.execing = 1;
|
||||
hExeced = pi.hProcess;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user