From 825a023c2cd77716ee54a0ecfeb65618e0940a71 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Thu, 31 Oct 2024 18:07:19 +1300 Subject: Flush standard output before printing halt message This ensures that no additional program output will be printed after the debug-mode halt message is printed. --- src/emulators/graphical_emulator.rs | 2 ++ src/emulators/headless_emulator.rs | 1 + 2 files changed, 3 insertions(+) diff --git a/src/emulators/graphical_emulator.rs b/src/emulators/graphical_emulator.rs index bc6aaeb..8652aad 100644 --- a/src/emulators/graphical_emulator.rs +++ b/src/emulators/graphical_emulator.rs @@ -146,6 +146,7 @@ impl GraphicalEmulator { std::thread::sleep(MIN_TICK_DURATION); } Some(Signal::Halt) => { + self.br.dev.loc.flush(); self.debug.print("Program halted, exiting."); self.debug.debug_summary(&self.br.core); return EmulatorSignal::Halt; @@ -284,6 +285,7 @@ impl WindowProgram for GraphicalEmulator { break; } Some(Signal::Halt) => { + self.br.dev.loc.flush(); self.debug.print("Program halted, exiting."); self.debug.debug_summary(&self.br.core); requests.write(Request::CloseWindow); diff --git a/src/emulators/headless_emulator.rs b/src/emulators/headless_emulator.rs index 3f54f6a..03fbcf9 100644 --- a/src/emulators/headless_emulator.rs +++ b/src/emulators/headless_emulator.rs @@ -110,6 +110,7 @@ impl HeadlessEmulator { std::thread::sleep(MIN_TICK_DURATION); } Some(Signal::Halt) => { + self.br.dev.loc.flush(); self.debug.print("Program halted, exiting."); self.debug.debug_summary(&self.br.core); return EmulatorSignal::Halt; -- cgit v1.2.3-70-g09d2