* 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