diff options
author | MerryMage <MerryMage@users.noreply.github.com> | 2020-04-06 21:24:54 +0100 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2020-04-17 05:41:43 +0200 |
commit | 1cc9507bc55059ae82d525f245eeb3b3de873223 (patch) | |
tree | 8ecacedf1228297f6db9856f02abb65c38e87af7 /src/core/gdbstub/gdbstub.cpp | |
parent | 86f9c9aa1c38c8fd52963209623ec37e895803d3 (diff) |
gdbstub: Fix some gdbstub jankiness
1. Ensure that register information available to gdbstub is most up-to-date.
2. There's no reason to check for current_thread == thread when emitting a trap.
Doing this results in random hangs whenever a step happens upon a thread switch.
Diffstat (limited to 'src/core/gdbstub/gdbstub.cpp')
-rw-r--r-- | src/core/gdbstub/gdbstub.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/core/gdbstub/gdbstub.cpp b/src/core/gdbstub/gdbstub.cpp index 6d15aeed9c..6f51895b96 100644 --- a/src/core/gdbstub/gdbstub.cpp +++ b/src/core/gdbstub/gdbstub.cpp @@ -1389,10 +1389,9 @@ void SendTrap(Kernel::Thread* thread, int trap) { return; } - if (!halt_loop || current_thread == thread) { - current_thread = thread; - SendSignal(thread, trap); - } + current_thread = thread; + SendSignal(thread, trap); + halt_loop = true; send_trap = false; } |