* exceptions.cc (ctrl_c_handler): Only send SIGINT when we have a controlling
terminal and we are the head of the process group.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | Tue Sep  4 22:42:13 2001  Christopher Faylor <cgf@cygnus.com> | ||||||
|  |  | ||||||
|  | 	* exceptions.cc (ctrl_c_handler): Only send SIGINT when we have a | ||||||
|  | 	controlling terminal and we are the head of the process group. | ||||||
|  |  | ||||||
| Tue Sep  4 16:48:14 2001  Christopher Faylor <cgf@cygnus.com> | Tue Sep  4 16:48:14 2001  Christopher Faylor <cgf@cygnus.com> | ||||||
|  |  | ||||||
| 	* thread.cc (InterlockedExchangePointer): Don't define if it already | 	* thread.cc (InterlockedExchangePointer): Don't define if it already | ||||||
|   | |||||||
| @@ -912,11 +912,8 @@ ctrl_c_handler (DWORD type) | |||||||
|   tty_min *t = cygwin_shared->tty.get_tty (myself->ctty); |   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 |   /* Ignore this if we're not the process group lead since it should be handled | ||||||
|      *by* the process group leader. */ |      *by* the process group leader. */ | ||||||
|   if (t->getpgid () && pid_exists (t->getpgid ()) && |   if (myself->ctty != -1 && t->getpgid () == myself->pid && | ||||||
|       (t->getpgid () != myself->pid || |        (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP) | ||||||
|        (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 |     /* 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 | ||||||
|        a CTRL_C_EVENT or CTRL_BREAK_EVENT. */ |        a CTRL_C_EVENT or CTRL_BREAK_EVENT. */ | ||||||
| @@ -926,6 +923,7 @@ ctrl_c_handler (DWORD type) | |||||||
|       t->last_ctrl_c = GetTickCount (); |       t->last_ctrl_c = GetTickCount (); | ||||||
|       return TRUE; |       return TRUE; | ||||||
|     } |     } | ||||||
|  |   return TRUE; | ||||||
| } | } | ||||||
|  |  | ||||||
| /* Set the signal mask for this process. | /* Set the signal mask for this process. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user