sig_handle_first_stop(): notify debugger

Since it could be that no debuggee threads are waken up because all of
them are in interruptible sleep and consequently all were suspended
remotely, call thread_stopped().

Tested by:	pho
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D49984
This commit is contained in:
Konstantin Belousov
2025-04-23 02:15:13 +03:00
parent 2f87445747
commit 4f32b298c6
+2 -1
View File
@@ -2868,7 +2868,8 @@ sig_handle_first_stop(struct thread *td, struct proc *p, int sig)
p->p_flag2 &= ~P2_PTRACE_FSTP; p->p_flag2 &= ~P2_PTRACE_FSTP;
p->p_flag |= P_STOPPED_SIG | P_STOPPED_TRACE; p->p_flag |= P_STOPPED_SIG | P_STOPPED_TRACE;
sig_suspend_threads(td, p); if (sig_suspend_threads(td, p) && td == NULL)
thread_stopped(p);
} }
/* /*