summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/signal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/signal.cc')
-rw-r--r--winsup/cygwin/signal.cc4
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)