Clear a process's procfs trace points upon delivery of SIGKILL.

MT5 candidate. (Desired features for 5.3-RELEASE "More truss problems")
This commit is contained in:
alfred 2004-10-01 14:15:20 +00:00
parent 104924bb06
commit 0efc91b067

View File

@ -1774,6 +1774,16 @@ do_tdsignal(struct thread *td, int sig, sigtarget_t target)
if (action == SIG_HOLD && if (action == SIG_HOLD &&
!((prop & SA_CONT) && (p->p_flag & P_STOPPED_SIG))) !((prop & SA_CONT) && (p->p_flag & P_STOPPED_SIG)))
return; 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 * Some signals have a process-wide effect and a per-thread
* component. Most processing occurs when the process next * component. Most processing occurs when the process next