rCore-Tutorial-v3/user/src/lang_items.rs

19 lines
493 B
Rust

use super::{getpid, kill, SignalFlags};
#[panic_handler]
fn panic_handler(panic_info: &core::panic::PanicInfo) -> ! {
let err = panic_info.message().unwrap();
if let Some(location) = panic_info.location() {
println!(
"Panicked at {}:{}, {}",
location.file(),
location.line(),
err
);
} else {
println!("Panicked: {}", err);
}
kill(getpid() as usize, SignalFlags::SIGABRT.bits());
unreachable!()
}