Bug #1300

vkernel suspends execution when showing ddb prompt

Added by corecode almost 6 years ago. Updated over 5 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

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.

History

#1 Updated by dillon almost 6 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
<>

#2 Updated by corecode over 5 years ago

fixed in 8f66501e78f349e01f73c77a526d20de9c8617f6

Also available in: Atom PDF