www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/09/04/22:24:03

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
To: cygwin-developers AT cygwin DOT com
Subject: Re: 1.3.2: setsid() vs. signals
References: <3B94BC33 DOT CACAEAF4 AT trustcenter DOT de> <s1slmju76d5 DOT fsf AT jaist DOT ac DOT jp>
<20010904215335 DOT D11902 AT redhat DOT com>
Mime-Version: 1.0 (generated by tm-edit 7.106)
From: Kazuhiro Fujieda <fujieda AT jaist DOT ac DOT jp>
Date: 05 Sep 2001 11:23:54 +0900
In-Reply-To: Christopher Faylor's message of Tue, 4 Sep 2001 21:53:35 -0400
Message-ID: <s1sk7ze74ud.fsf@jaist.ac.jp>
Lines: 35
X-Mailer: Gnus v5.3/Emacs 19.34

>>> 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
____
  | AIST      Kazuhiro Fujieda <fujieda AT jaist DOT ac DOT jp>
  | HOKURIKU  Center for Information Science
o_/ 1990      Japan Advanced Institute of Science and Technology

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019