Bug #1300
closedvkernel suspends execution when showing ddb prompt
0%
Description
whenever the MP vkernel breaks to the debugger prompt, it will suspend
execution. To reach the debugger, you will have to put it to foreground manually.
The reason for this is this line in platform/vkernel/i386/mp.c:
if (pthread_kill(ap_tids[n], SIGSTOP) != 0)
as specified by POSIX, sending a SIGSTOP signal to any thread of a process will
stop the complete process.
The solutions probably would need some other means of thread communication than
a mere stop signal.
Updated by dillon over 15 years ago
:whenever the MP vkernel breaks to the debugger prompt, it will suspend
:execution. To reach the debugger, you will have to put it to foreground ma=
:nually.
:
:The reason for this is this line in platform/vkernel/i386/mp.c:
:
: if (pthread_kill(ap_tids[n], SIGSTOP) !=3D 0)
:
:as specified by POSIX, sending a SIGSTOP signal to any thread of a process =
:will
:stop the complete process.
:
:The solutions probably would need some other means of thread communication =
:than
:a mere stop signal.
Ah, yah, it's been doing that for a while. I'll fix it. I have to
have the vkernel use a dedicated signal and sigsuspend() loop. It's
fairly straight-forward.
-Matt
Matthew Dillon
<dillon@backplane.com>
Updated by corecode over 15 years ago
fixed in 8f66501e78f349e01f73c77a526d20de9c8617f6