Răsfoiți Sursa

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.
MerryMage 6 ani în urmă
părinte
comite
1cc9507bc5
1 a modificat fișierele cu 3 adăugiri și 4 ștergeri
  1. 3 4
      src/core/gdbstub/gdbstub.cpp

+ 3 - 4
src/core/gdbstub/gdbstub.cpp

@@ -1389,10 +1389,9 @@ void SendTrap(Kernel::Thread* thread, int trap) {
         return;
         return;
     }
     }
 
 
-    if (!halt_loop || current_thread == thread) {
-        current_thread = thread;
-        SendSignal(thread, trap);
-    }
+    current_thread = thread;
+    SendSignal(thread, trap);
+
     halt_loop = true;
     halt_loop = true;
     send_trap = false;
     send_trap = false;
 }
 }