summaryrefslogtreecommitdiff
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2004-10-30 02:56:22 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2004-10-30 02:56:22 +0000
commit90d75f785aae59ad21ae2582626faf6a051d0db9 (patch)
tree740e72810feb3c821fb23b6c964bd946c92f6708 /sys/kern/kern_sig.c
parentd177131cf81a205122da7e49c0ca23abbe821fca (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 5220ab436ca9..3074950e284c 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1776,6 +1776,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