tokio-signal

An implementation of Unix signal handling for Tokio

Build Status

Documentation

Usage

First, add this to your Cargo.toml:

toml [dependencies] tokio-signal = "0.1"

Next you can use this in conjunction with the tokio and futures crates:

```rust,norun extern crate futures; extern crate tokio; extern crate tokiosignal;

use futures::{Future, Stream};

fn main() {

// Create an infinite stream of "Ctrl+C" notifications. Each item received
// on this stream may represent multiple ctrl-c signals.
let ctrl_c = tokio_signal::ctrl_c().flatten_stream();

// Process each ctrl-c as it comes in
let prog = ctrl_c.for_each(|()| {
    println!("ctrl-c received!");
    Ok(())
});

tokio::run(prog.map_err(|err| panic!("{}", err)));

} ```

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in tokio-signal by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.