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);
+ }
+}
mod write;
use machine::*;
-
-use nix::sys::signal;
-use std::sync::atomic::Ordering;
-
-pub extern "C" fn handle_sigint(signal: libc::c_int) {
- let signal = signal::Signal::from_c_int(signal).unwrap();
- if signal == signal::Signal::SIGINT {
- INTERRUPT.store(true, Ordering::Relaxed);
- }
-}
}
lazy_static! {
- pub(crate) static ref INTERRUPT: AtomicBool = AtomicBool::new(false);
+ pub static ref INTERRUPT: AtomicBool = AtomicBool::new(false);
}
impl MachinePolicies {