This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 1.3.2: setsid() vs. signals


>>> On Tue, 4 Sep 2001 21:53:35 -0400
>>> Christopher Faylor <cgf@redhat.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@jaist.ac.jp>
  | HOKURIKU  Center for Information Science
o_/ 1990      Japan Advanced Institute of Science and Technology


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]