summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYehuda Katz <wycats@gmail.com>2014-10-19 17:36:52 -0700
committerYehuda Katz <wycats@gmail.com>2014-10-19 17:36:52 -0700
commite9211b595b111cae789d6ac72c34d66f8002f93b (patch)
tree2b272ca715f7d3bef0f56cc11ae8af4bda6abcc1 /src
parent5e5154a658749d8bb5915ee0b4fadc288e066a14 (diff)
downloadnix-e9211b595b111cae789d6ac72c34d66f8002f93b.zip
Bind kill
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(())
+}