Function nc::rt_sigaction [−][src]
pub fn rt_sigaction(
sig: i32,
act: &sigaction_t,
old_act: &mut sigaction_t,
sigsetsize: size_t
) -> Result<(), Errno>
Expand description
Examine and change a signal action.
use std::mem::size_of; fn handle_sigterm(sig: i32) { assert_eq!(sig, nc::SIGTERM); } let sa = nc::sigaction_t { sa_handler: handle_sigterm as nc::sighandler_t, sa_mask: nc::SA_RESTART | nc::SA_SIGINFO | nc::SA_ONSTACK, ..nc::sigaction_t::default() }; let mut old_sa = nc::sigaction_t::default(); let ret = nc::rt_sigaction(nc::SIGTERM, &sa, &mut old_sa, size_of::<nc::sigset_t>()); let ret = nc::kill(nc::getpid(), nc::SIGTERM); assert!(ret.is_ok());