Merge pull request #5185 from MerryMage/fix-gdbstub
gdbstub: Fix some gdbstub jankiness
This commit is contained in:
commit
9afd58cec2
2 changed files with 7 additions and 4 deletions
|
@ -50,6 +50,10 @@ System::ResultStatus System::RunLoop(bool tight_loop) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GDBStub::IsServerEnabled()) {
|
if (GDBStub::IsServerEnabled()) {
|
||||||
|
Kernel::Thread* thread = kernel->GetCurrentThreadManager().GetCurrentThread();
|
||||||
|
if (thread && running_core) {
|
||||||
|
running_core->SaveContext(thread->context);
|
||||||
|
}
|
||||||
GDBStub::HandlePacket();
|
GDBStub::HandlePacket();
|
||||||
|
|
||||||
// If the loop is halted and we want to step, use a tiny (1) number of instructions to
|
// If the loop is halted and we want to step, use a tiny (1) number of instructions to
|
||||||
|
|
|
@ -1264,10 +1264,9 @@ void SendTrap(Kernel::Thread* thread, int trap) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!halt_loop || current_thread == thread) {
|
|
||||||
current_thread = thread;
|
current_thread = thread;
|
||||||
SendSignal(thread, trap);
|
SendSignal(thread, trap);
|
||||||
}
|
|
||||||
halt_loop = true;
|
halt_loop = true;
|
||||||
send_trap = false;
|
send_trap = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue