summaryrefslogtreecommitdiff
path: root/src/sys/signal.rs
diff options
context:
space:
mode:
authorHomu <homu@barosl.com>2016-11-15 05:25:22 +0900
committerHomu <homu@barosl.com>2016-11-15 05:25:22 +0900
commit6b26884efa2189ef13695b9e7d1e572854a15878 (patch)
tree697c567d2b1ba5ea2aedf471040adc09f93889ad /src/sys/signal.rs
parenta9f630ed00ec9d98dfdd0d84127c8f44ca92bcb9 (diff)
parent45d8beea46ec06ce52c512c8de5976cff85b67a2 (diff)
downloadnix-6b26884efa2189ef13695b9e7d1e572854a15878.zip
Auto merge of #445 - fiveop:kill_optional_signal, r=@kamalmarhubi
Make signal argument to kill optional Fixes #441
Diffstat (limited to 'src/sys/signal.rs')
-rw-r--r--src/sys/signal.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/sys/signal.rs b/src/sys/signal.rs
index 345e69e3..d9744b94 100644
--- a/src/sys/signal.rs
+++ b/src/sys/signal.rs
@@ -387,8 +387,12 @@ pub fn pthread_sigmask(how: SigFlags,
Errno::result(res).map(drop)
}
-pub fn kill(pid: libc::pid_t, signal: Signal) -> Result<()> {
- let res = unsafe { libc::kill(pid, signal as libc::c_int) };
+pub fn kill<T: Into<Option<Signal>>>(pid: libc::pid_t, signal: T) -> Result<()> {
+ let res = unsafe { libc::kill(pid,
+ match signal.into() {
+ Some(s) => s as libc::c_int,
+ None => 0,
+ }) };
Errno::result(res).map(drop)
}