Fix panic handler

It wasn't actually exiting and would basically block indefinitely after reading
from stdin.
This commit is contained in:
Mahmoud Al-Qudsi 2024-08-28 17:29:56 -05:00
parent 7b7d16da48
commit 4d0aa2b5dd

View file

@ -20,12 +20,14 @@ pub fn panic_handler(main: impl FnOnce() -> i32 + UnwindSafe) -> ! {
); );
let mut buf = [0_u8; 1]; let mut buf = [0_u8; 1];
loop { loop {
// Move the cursor down so it isn't blocking the text
eprintf!("\n");
let Ok(n) = read_blocked(STDIN_FILENO, &mut buf) else { let Ok(n) = read_blocked(STDIN_FILENO, &mut buf) else {
break; break;
}; };
if n == 0 || matches!(buf[0], b'q' | b'\n' | b'\r') { if n == 0 || matches!(buf[0], b'q' | b'\n' | b'\r') {
eprintf!("\n"); eprintf!("\n");
break; std::process::abort();
} }
} }
})); }));