* exceptions.cc (ctrl_c_handler): Don't generate a SIGINT if we've execed a

non-cygwin process.  Let the Windows process deal with it itself.
This commit is contained in:
Christopher Faylor 2012-03-29 05:45:49 +00:00
parent cf22fb91a1
commit 74daacfd31
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx>
* exceptions.cc (ctrl_c_handler): Don't generate a SIGINT if we've
execed a non-cygwin process. Let the Windows process deal with it
itself.
2012-03-28 Christopher Faylor <me.cygwin2012@cgf.cx> 2012-03-28 Christopher Faylor <me.cygwin2012@cgf.cx>
* sigproc.cc (proc_terminate): Avoid releasing myself. * sigproc.cc (proc_terminate): Avoid releasing myself.

View File

@ -996,7 +996,8 @@ ctrl_c_handler (DWORD type)
tty_min *t = cygwin_shared->tty.get_cttyp (); tty_min *t = cygwin_shared->tty.get_cttyp ();
/* Ignore this if we're not the process group leader since it should be handled /* Ignore this if we're not the process group leader since it should be handled
*by* the process group leader. */ *by* the process group leader. */
if (t && t->getpgid () == myself->pid && if (t && (!have_execed || have_execed_cygwin)
&& t->getpgid () == myself->pid &&
(GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP) (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
/* Otherwise we just send a SIGINT to the process group and return TRUE (to indicate /* Otherwise we just send a SIGINT to the process group and return TRUE (to indicate
that we have handled the signal). At this point, type should be that we have handled the signal). At this point, type should be