move the signal handler to the binary

This commit is contained in:
Skgland
2021-02-26 17:24:31 +01:00
parent a638d42d92
commit 0a08464d4f
3 changed files with 10 additions and 11 deletions

View File

@@ -9,3 +9,12 @@ fn main() {
let mut wam = machine::Machine::new(readline::input_stream(), machine::Stream::stdout());
wam.run_top_level();
}
pub extern "C" fn handle_sigint(signal: libc::c_int) {
use nix::sys::signal;
use std::sync::atomic::Ordering;
let signal = signal::Signal::from_c_int(signal).unwrap();
if signal == signal::Signal::SIGINT {
scryer_prolog::machine::INTERRUPT.store(true, Ordering::Relaxed);
}
}