* 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:
@ -133,10 +133,8 @@ strace::vsprntf (char *buf, const char *func, const char *infmt, va_list ap)
|
||||
if ((p = strrchr (progname, '.')) != NULL && strcasematch (p, ".exe"))
|
||||
*p = '\000';
|
||||
p = progname;
|
||||
count = __small_sprintf (buf, fmt, p && *p ? p : "?",
|
||||
myself->pid,
|
||||
myself->dwProcessId != GetCurrentProcessId ()
|
||||
? "!" : "");
|
||||
count = __small_sprintf (buf, fmt, p && *p ? p : "?", myself->pid,
|
||||
execing ? "!" : "");
|
||||
if (func)
|
||||
count += getfunc (buf + count, func);
|
||||
}
|
||||
@ -177,6 +175,8 @@ strace::write (unsigned category, const char *buf, int count)
|
||||
__small_sprintf (outbuf, "cYg%08x", strlen (outstuff) + 1);
|
||||
outstuff[-1] = ' ';
|
||||
OutputDebugString (outbuf);
|
||||
#undef outstuff
|
||||
#undef PREFIX
|
||||
}
|
||||
|
||||
/* Printf function used when tracing system calls.
|
||||
|
Reference in New Issue
Block a user