thread_single(9): decline external requests for traced or debugger-stopped procs

(cherry picked from commit 9241ebc796c11cf133c550f188f324bd2c12d89a)
This commit is contained in:
Konstantin Belousov 2024-03-27 14:29:25 +02:00
parent 72c3d91294
commit df9c60beea

View file

@ -1249,6 +1249,9 @@ thread_single(struct proc *p, int mode)
return (1);
msleep(&p->p_flag, &p->p_mtx, PCATCH, "thrsgl", 0);
}
if ((p->p_flag & (P_STOPPED_SIG | P_TRACED)) != 0 ||
(p->p_flag2 & P2_WEXIT) != 0)
return (1);
} else if ((p->p_flag & P_HADTHREADS) == 0)
return (0);
if (p->p_singlethread != NULL && p->p_singlethread != td)