A simple easy to use wrapper around Ctrl-C signal.
extern crate ctrlc;
use ctrlc::CtrlC;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
fn main() {
let running = Arc::new(AtomicBool::new(true));
let r = running.clone();
CtrlC::set_handler(move || {
r.store(false, Ordering::SeqCst);
});
println!("Waiting for Ctrl-C...");
while running.load(Ordering::SeqCst) {}
println!("Got it! Exiting...");
}
cargo build && target/debug/example/readme_example
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT) at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.