From c2c052f98c67e06fc0b6e8bad7e7b82e44911fe9 Mon Sep 17 00:00:00 2001 From: Philipp Matthias Schaefer Date: Sat, 9 Jan 2016 16:47:26 +0100 Subject: Add POSIX function raise() --- src/sys/signal.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/sys/signal.rs b/src/sys/signal.rs index 23fd2076..93b63196 100644 --- a/src/sys/signal.rs +++ b/src/sys/signal.rs @@ -372,6 +372,7 @@ mod ffi { pub fn pthread_sigmask(how: c_int, set: *const sigset_t, oldset: *mut sigset_t) -> c_int; pub fn kill(pid: pid_t, signum: c_int) -> c_int; + pub fn raise(signum: c_int) -> c_int; } } @@ -541,6 +542,16 @@ pub fn kill(pid: libc::pid_t, signum: SigNum) -> Result<()> { Ok(()) } +pub fn raise(signum: SigNum) -> Result<()> { + let res = unsafe { ffi::raise(signum) }; + + if res < 0 { + return Err(Error::Sys(Errno::last())); + } + + Ok(()) +} + #[cfg(test)] mod tests { use super::*; -- cgit v1.2.3