Mail Archives: cygwin-developers/2001/09/04/22:45:39
On Wed, Sep 05, 2001 at 11:23:54AM +0900, Kazuhiro Fujieda wrote:
>>>> On Tue, 4 Sep 2001 21:53:35 -0400
>>>> Christopher Faylor <cgf AT redhat DOT com> said:
>
>> >This is a bug in Cygwin DLL 1.3.2 and also in the latest snapshot.
>> >I will fix it in the next release.
>>
>> Does this mean that you're going to send in a patch for 1.3.3?
>
>No, but I found the cause of his problem. That's the following
>change of yours. It made the handler trigger SIGINT to the process
>without its controlling terminal. I'd like to propose to revert it.
>
>Index: exceptions.cc
>===================================================================
>RCS file: /cvs/src/src/winsup/cygwin/exceptions.cc,v
>retrieving revision 1.79
>retrieving revision 1.80
>diff -u -p -r1.79 -r1.80
>--- exceptions.cc 2001/05/03 15:00:38 1.79
>+++ exceptions.cc 2001/05/04 20:39:38 1.80
>@@ -892,8 +892,8 @@ ctrl_c_handler (DWORD type)
> tty_min *t = cygwin_shared->tty.get_tty (myself->ctty);
> /* Ignore this if we're not the process group lead since it should be handled
> *by* the process group leader. */
>- if (!t->getpgid () || t->getpgid () != myself->pid ||
>- (GetTickCount () - t->last_ctrl_c) < MIN_CTRL_C_SLOP)
>+ if (t->getpgid () && (t->getpgid () != myself->pid ||
>+ (GetTickCount () - t->last_ctrl_c) < MIN_CTRL_C_SLOP))
> return TRUE;
> else
> /* Otherwise we just send a SIGINT to the process group and return TRUE (to indicate
Ok. I've semi-reverted that patch and added an additional test for
myself->ctty == -1. This code should not be activated if there is no
controlling terminal.
Thanks for tracking this down.
cgf
- Raw text -