Module signal_hook_mio::v0_6 [−][src]
A module for integrating signal handling with the MIO 0.6 runtime.
This provides the Signals
struct as an abstraction
which can be used with mio::Poll
.
Example
use std::io::Error; use signal_hook::consts::signal::*; use signal_hook_mio::v0_6::Signals; use mio::{Events, Poll, PollOpt, Ready, Token}; fn main() -> Result<(), Error> { let poll = Poll::new()?; let mut signals = Signals::new(&[ SIGTERM, ])?; let signal_token = Token(0); poll.register(&mut signals, signal_token, Ready::readable(), PollOpt::level())?; let mut events = Events::with_capacity(10); 'outer: loop { poll.poll(&mut events, None)?; for event in events.iter() { match event.token() { Token(0) => { for signal in signals.pending() { match signal { SIGTERM => break 'outer, _ => unreachable!(), } } }, _ => unreachable!("Register other sources and match for their tokens here"), } } } Ok(()) }
Structs
Pending | The iterator of one batch of signals. |
SignalsInfo | A struct which mimics |
Type Definitions
Signals | A simplified signal iterator. |