* exceptions.cc (sig_handle_tty_stop): Don't send SIGCHLD if parent doesn't
want it. (sig_handle): Don't check for SA_NOCLDSTOP here. We don't have enough information.
This commit is contained in:
		| @@ -1,3 +1,10 @@ | |||||||
|  | 2002-01-19  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
|  | 	* exceptions.cc (sig_handle_tty_stop): Don't send SIGCHLD if parent | ||||||
|  | 	doesn't want it. | ||||||
|  | 	(sig_handle): Don't check for SA_NOCLDSTOP here.  We don't have enough | ||||||
|  | 	information. | ||||||
|  |  | ||||||
| 2002-01-19  Christopher Faylor  <cgf@redhat.com> | 2002-01-19  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
| 	* include/cygwin/version.h: Bump DLL minor number. | 	* include/cygwin/version.h: Bump DLL minor number. | ||||||
|   | |||||||
| @@ -600,6 +600,7 @@ sig_handle_tty_stop (int sig) | |||||||
|       myself->process_state &= ~PID_STOPPED; |       myself->process_state &= ~PID_STOPPED; | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   myself->stopsig = sig; |   myself->stopsig = sig; | ||||||
|   /* See if we have a living parent.  If so, send it a special signal. |   /* See if we have a living parent.  If so, send it a special signal. | ||||||
|    * It will figure out exactly which pid has stopped by scanning |    * It will figure out exactly which pid has stopped by scanning | ||||||
| @@ -608,6 +609,7 @@ sig_handle_tty_stop (int sig) | |||||||
|   if (my_parent_is_alive ()) |   if (my_parent_is_alive ()) | ||||||
|     { |     { | ||||||
|       pinfo parent (myself->ppid); |       pinfo parent (myself->ppid); | ||||||
|  |       if (!(parent->getsig (SIGCHLD).sa_flags & SA_NOCLDSTOP)) | ||||||
| 	sig_send (parent, SIGCHLD); | 	sig_send (parent, SIGCHLD); | ||||||
|     } |     } | ||||||
|   sigproc_printf ("process %d stopped by signal %d, myself->ppid_handle %p", |   sigproc_printf ("process %d stopped by signal %d, myself->ppid_handle %p", | ||||||
| @@ -1032,7 +1034,7 @@ sig_handle (int sig, bool thisproc) | |||||||
|   if (handler == (void *) SIG_ERR) |   if (handler == (void *) SIG_ERR) | ||||||
|     goto exit_sig; |     goto exit_sig; | ||||||
|  |  | ||||||
|   if ((sig == SIGCHLD) && (thissig.sa_flags & SA_NOCLDSTOP)) |   if (sig == SIGCHLD) | ||||||
|     goto done; |     goto done; | ||||||
|  |  | ||||||
|   goto dosig; |   goto dosig; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user