From e21fa1ebb4a5c24456336e59d9fd865542f09101 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 26 Oct 2000 00:51:50 +0000 Subject: [PATCH] * 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. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/signal.cc | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index fc84f3a48..98a5b7039 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Wed Oct 25 20:49:59 2000 Christopher Faylor + + * 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 * 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 11d0921b0..97a2bbaa0 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)