An implementation of Unix signal handling for Tokio
First, add this to your Cargo.toml
:
toml
[dependencies]
tokio-signal = "0.1"
Next you can use this in conjunction with the tokio-core
and futures
crates:
```rust,norun extern crate futures; extern crate tokiocore; extern crate tokio_signal;
use tokio_core::reactor::Core; use futures::{Future, Stream};
fn main() { let mut core = Core::new().unwrap(); let handle = core.handle();
// 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(&handle).flatten_stream();
// Process each ctrl-c as it comes in
let prog = ctrl_c.for_each(|()| {
println!("ctrl-c received!");
Ok(())
});
core.run(prog).unwrap();
} ```
This project is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.