* 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.
This commit is contained in:
Christopher Faylor
2006-05-22 04:50:54 +00:00
parent 8ae1d98d8e
commit 6813f009ba
7 changed files with 50 additions and 12 deletions

View File

@ -910,6 +910,9 @@ child_info::proc_retry (HANDLE h)
sigproc_printf ("STILL_ACTIVE? How'd we get here?");
break;
case STATUS_CONTROL_C_EXIT:
if (saw_ctrl_c ())
return EXITCODE_OK;
/* fall through intentionally */
case STATUS_DLL_INIT_FAILED:
case STATUS_DLL_INIT_FAILED_LOGOFF:
case EXITCODE_RETRY: