Skip to content

swizard0/rust-simple-signal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CtrlC

Build Status

A simple easy to use wrapper around Ctrl-C signal.

Dependencies

Example usage

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...");
}

Try the example yourself

cargo run --example readme_example

Building

If you're using a nightly compiler, I suggest building with cargo build --features nightly to avoid the dependency to lazy_static. On stable and beta compilers cargo build will do.

About

Easy unix signals handler for Rust projects

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%