diff options
author | Christopher Faylor <me@cgf.cx> | 2006-05-22 04:50:54 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-05-22 04:50:54 +0000 |
commit | 6813f009ba2a95c9476e29fe356d2e3b46286efb (patch) | |
tree | 073ccf527cf9cb193ce1094b079bbfdba8687657 /winsup/cygwin/sigproc.cc | |
parent | 8ae1d98d8ee2a0e0813d32aa42f2e584f99d17bf (diff) | |
download | cygnal-6813f009ba2a95c9476e29fe356d2e3b46286efb.tar.gz cygnal-6813f009ba2a95c9476e29fe356d2e3b46286efb.tar.bz2 cygnal-6813f009ba2a95c9476e29fe356d2e3b46286efb.zip |
* 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.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 9eb918dc1..5de0762e8 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -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: |