summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sys/signal.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sys/signal.rs b/src/sys/signal.rs
index d8d7c088..ec5461e7 100644
--- a/src/sys/signal.rs
+++ b/src/sys/signal.rs
@@ -284,6 +284,8 @@ mod ffi {
pub fn sigaddset(set: *mut sigset_t, signum: libc::c_int) -> libc::c_int;
pub fn sigdelset(set: *mut sigset_t, signum: libc::c_int) -> libc::c_int;
pub fn sigemptyset(set: *mut sigset_t) -> libc::c_int;
+
+ pub fn kill(pid: libc::pid_t, signum: libc::c_int) -> libc::c_int;
}
}
@@ -352,3 +354,13 @@ pub fn sigaction(signum: SigNum, sigaction: &SigAction) -> SysResult<SigAction>
Ok(SigAction { sigaction: oldact })
}
+
+pub fn kill(pid: libc::pid_t, signum: SigNum) -> SysResult<()> {
+ let res = unsafe { ffi::kill(pid, signum) };
+
+ if res < 0 {
+ return Err(SysError::last());
+ }
+
+ Ok(())
+}