From 6813f009ba2a95c9476e29fe356d2e3b46286efb Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 22 May 2006 04:50:54 +0000 Subject: * child_info.h (_CI_SAW_CTRL_C): New enum. (CURR_CHILD_INFO_MAGIC): Reset. (saw_ctrl_c): New function. (set_saw_ctrl_c): Ditto. * sigproc.cc (child_info::proc_retry): Return EXITCODE_OK if we get STATUS_CONTROL_C_EXIT and we actually saw a CTRL-C. * spawn.cc (dwExeced): Delete. (chExeced): New variable. (spawn_guts): Set chExeced; * exceptions.cc (dwExeced): Delete declaration. (chExeced): Declare. (ctrl_c_handler): Detect if we're an exec stub process and set a flag, if so. * fhandler_tty.cc (fhandler_tty_common::__release_output_mutex): Add extra DEBUGGING test. * pinfo.cc: Fix comment. --- winsup/cygwin/spawn.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/spawn.cc') diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 41f40543e..9f04b3074 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -52,7 +52,7 @@ static suffix_info dll_suffixes[] = }; HANDLE hExeced; -DWORD dwExeced; +child_info_spawn *chExeced; /* 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). @@ -583,7 +583,8 @@ loop: pid_t pid; if (mode == _P_OVERLAY) { - myself->dwProcessId = dwExeced = pi.dwProcessId; + chExeced = &ch; /* FIXME: there's a race here if a user sneaks in CTRL-C */ + myself->dwProcessId = pi.dwProcessId; strace.execing = 1; myself.hProcess = hExeced = pi.hProcess; strcpy (myself->progname, real_path); // FIXME: race? -- cgit v1.2.3