diff options
Diffstat (limited to 'winsup/cygwin/signal.cc')
-rw-r--r-- | winsup/cygwin/signal.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc index 782cd630e..bfac33c9f 100644 --- a/winsup/cygwin/signal.cc +++ b/winsup/cygwin/signal.cc @@ -160,7 +160,7 @@ kill_worker (pid_t pid, int sig) sigproc_printf ("%d = sig_send, %E ", res); res = -1; } - else if (sendSIGCONT && ISSTATE(dest, PID_STOPPED)) + else if (sendSIGCONT) (void) sig_send (dest, SIGCONT); syscall_printf ("%d = kill_worker (%d, %d)", res, pid, sig); @@ -217,6 +217,8 @@ kill_pgrp (pid_t pid, int sig) continue; if (pid > 1 && p->pgid != pid) continue; + if (sig < 0 && NOTSTATE(p, PID_STOPPED)) + continue; sigproc_printf ("killing pid %d, pgrp %d, p->ctty %d, myself->ctty %d", p->pid, p->pgid, p->ctty, myself->ctty); if (p == myself) |