summaryrefslogtreecommitdiff
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2004-10-01 14:15:20 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2004-10-01 14:15:20 +0000
commit50434413b0fc0e8ba04ca5dcf6f733ffda634d1c (patch)
tree80677560a69fa0d63f830cac1abf2ee922d18aba /sys/kern/kern_sig.c
parent844acbc7a357ef9c3ab43c2dd06a7ca1bd82a2c4 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 4ecbd03becd3..4fcf79e0deb4 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1775,6 +1775,16 @@ do_tdsignal(struct thread *td, int sig, sigtarget_t target)
!((prop & SA_CONT) && (p->p_flag & P_STOPPED_SIG)))
return;
/*
+ * SIGKILL: Remove procfs STOPEVENTs.
+ */
+ if (sig == SIGKILL) {
+ /* from procfs_ioctl.c: PIOCBIC */
+ p->p_stops = 0;
+ /* from procfs_ioctl.c: PIOCCONT */
+ p->p_step = 0;
+ wakeup(&p->p_step);
+ }
+ /*
* Some signals have a process-wide effect and a per-thread
* component. Most processing occurs when the process next
* tries to cross the user boundary, however there are some