Index: kern_fork.c =================================================================== RCS file: /cvsroot/src/sys/kern/kern_fork.c,v retrieving revision 1.208 diff -u -r1.208 kern_fork.c --- kern_fork.c 6 Apr 2019 11:54:21 -0000 1.208 +++ kern_fork.c 6 Apr 2019 23:42:52 -0000 @@ -619,16 +619,23 @@ struct proc *p = l->l_proc; if (p->p_slflag & PSL_TRACED) { + mutex_enter(proc_lock); + if (!(p->p_slflag & PSL_TRACED)) { + mutex_exit(proc_lock); + goto notrace; + } + mutex_enter(p->p_lock); p->p_xsig = SIGTRAP; p->p_sigctx.ps_faked = true; // XXX p->p_sigctx.ps_info._signo = p->p_xsig; p->p_sigctx.ps_info._code = TRAP_CHLD; - sigswitch(0, SIGTRAP, true); + sigswitch(0, SIGTRAP, false); // XXX ktrpoint(KTR_PSIG) mutex_exit(p->p_lock); } +notrace: md_child_return(l); /*