Function nc::alarm[][src]

pub fn alarm(seconds: u32) -> u32
Expand description

Set an alarm clock for delivery of a signal.

use core::mem::size_of;

fn handle_alarm(signum: i32) {
    assert_eq!(signum, nc::SIGALRM);
}

let sa = nc::sigaction_t {
    sa_handler: handle_alarm as nc::sighandler_t,
    ..nc::sigaction_t::default()
};
let mut old_sa = nc::sigaction_t::default();
let ret = nc::rt_sigaction(nc::SIGALRM, &sa, &mut old_sa, size_of::<nc::sigset_t>());
assert!(ret.is_ok());
let remaining = nc::alarm(1);
let ret = nc::pause();
assert!(ret.is_err());
assert_eq!(ret, Err(nc::EINTR));
assert_eq!(remaining, 0);