aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-10-26 00:51:50 +0000
committerChristopher Faylor <me@cgf.cx>2000-10-26 00:51:50 +0000
commite21fa1ebb4a5c24456336e59d9fd865542f09101 (patch)
tree3585bd109b2a022c7b87f0d145bd94bd765a1696 /winsup
parentcffaf20bf38dc930052763a743c1550629c0163e (diff)
downloadnewlib-e21fa1ebb4a5c24456336e59d9fd865542f09101.zip
newlib-e21fa1ebb4a5c24456336e59d9fd865542f09101.tar.gz
newlib-e21fa1ebb4a5c24456336e59d9fd865542f09101.tar.bz2
* signal.cc (kill_pgrp): Don't limit sending of signals to stopped processes
when sig < 0. (kill_worker): Only send SIGCONT to stopped processes when sendSIGCONT.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/signal.cc4
2 files changed, 7 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index fc84f3a..98a5b70 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+Wed Oct 25 20:49:59 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * signal.cc (kill_pgrp): Don't limit sending of signals to stopped
+ processes when sig < 0.
+ (kill_worker): Only send SIGCONT to stopped processes when sendSIGCONT.
+
Wed Oct 25 13:56:39 2000 Christopher Faylor <cgf@cygnus.com>
* exceptions.cc (sig_handle): Just make sure that wait_sig loops when
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index 11d0921..97a2bba 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)
+ else if (sendSIGCONT && ISSTATE(dest, PID_STOPPED))
(void) sig_send (dest, SIGCONT);
syscall_printf ("%d = kill_worker (%d, %d)", res, pid, sig);
@@ -217,8 +217,6 @@ 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)