For detach procfs ctl command, also clear P_STOPPED_TRACE process stop
flag, and for each thread, TDB_SUSPEND debug flag, same as it is done by exit1() for orphaned debugee. Approved by: des (procfs maintainer) MFC after: 1 week
This commit is contained in:
parent
6e2175fc06
commit
53731b3c44
@ -110,6 +110,7 @@ static int
|
||||
procfs_control(struct thread *td, struct proc *p, int op)
|
||||
{
|
||||
int error = 0;
|
||||
struct thread *temp;
|
||||
|
||||
/*
|
||||
* Attach - attaches the target process for debugging
|
||||
@ -212,10 +213,12 @@ out:
|
||||
}
|
||||
|
||||
/* not being traced any more */
|
||||
p->p_flag &= ~P_TRACED;
|
||||
p->p_flag &= ~(P_TRACED | P_STOPPED_TRACE);
|
||||
|
||||
/* remove pending SIGTRAP, else the process will die */
|
||||
sigqueue_delete_proc(p, SIGTRAP);
|
||||
FOREACH_THREAD_IN_PROC(p, temp)
|
||||
temp->td_dbgflags &= ~TDB_SUSPEND;
|
||||
PROC_UNLOCK(p);
|
||||
|
||||
/* give process back to original parent */
|
||||
|
Loading…
x
Reference in New Issue
Block a user