diff options
author | Yehuda Katz <wycats@gmail.com> | 2014-10-19 17:36:52 -0700 |
---|---|---|
committer | Yehuda Katz <wycats@gmail.com> | 2014-10-19 17:36:52 -0700 |
commit | e9211b595b111cae789d6ac72c34d66f8002f93b (patch) | |
tree | 2b272ca715f7d3bef0f56cc11ae8af4bda6abcc1 | |
parent | 5e5154a658749d8bb5915ee0b4fadc288e066a14 (diff) | |
download | nix-e9211b595b111cae789d6ac72c34d66f8002f93b.zip |
Bind kill
-rw-r--r-- | src/sys/signal.rs | 12 |
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(()) +} |