summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_exit.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-08-15 21:33:20 +0000
committerkib <kib@FreeBSD.org>2016-08-15 21:33:20 +0000
commit408eededdb2bb7077a33012ddbd6270510245b89 (patch)
treeaab983f61a25cca07298ad57e075b24c546692cc /sys/kern/kern_exit.c
parente4842c451d2fcb20d4e7734a423b4dda17c5e79b (diff)
downloadFreeBSD-src-408eededdb2bb7077a33012ddbd6270510245b89.zip
FreeBSD-src-408eededdb2bb7077a33012ddbd6270510245b89.tar.gz
MFC r303423:
Force SIGSTOP to be the first signal reported after the attach.
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r--sys/kern/kern_exit.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 3b7b9da..125f210 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -476,9 +476,12 @@ exit1(struct thread *td, int rval, int signo)
*/
clear_orphan(q);
q->p_flag &= ~(P_TRACED | P_STOPPED_TRACE);
+ q->p_flag2 &= ~P2_PTRACE_FSTP;
q->p_ptevents = 0;
- FOREACH_THREAD_IN_PROC(q, tdt)
- tdt->td_dbgflags &= ~TDB_SUSPEND;
+ FOREACH_THREAD_IN_PROC(q, tdt) {
+ tdt->td_dbgflags &= ~(TDB_SUSPEND | TDB_XSIG |
+ TDB_FSTP);
+ }
kern_psignal(q, SIGKILL);
}
PROC_UNLOCK(q);
OpenPOWER on IntegriCloud