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];
loop {
// Move the cursor down so it isn't blocking the text
eprintf!("\n");
let Ok(n) = read_blocked(STDIN_FILENO, &mut buf) else {
break;
};
if n == 0 || matches!(buf[0], b'q' | b'\n' | b'\r') {
eprintf!("\n");
break;
std::process::abort();
}
}
}));