summaryrefslogtreecommitdiff
path: root/src/sys
diff options
context:
space:
mode:
authorMarkus Jais <markusjais@gmx.de>2015-02-01 16:43:36 +0100
committerCarl Lerche <me@carllerche.com>2015-02-01 11:57:20 -0800
commit9a17a4d200b33f66a6d61dc06a9df7ddef01d735 (patch)
treed71e5c7b9eee880560f0bac848c98957c664a905 /src/sys
parent3743a257c69ee45656cbfbbf0d0e853145dbf55f (diff)
downloadnix-9a17a4d200b33f66a6d61dc06a9df7ddef01d735.zip
Changed options parameter for waitpid to Option<WaitPidFlag>
Diffstat (limited to 'src/sys')
-rw-r--r--src/sys/wait.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/sys/wait.rs b/src/sys/wait.rs
index c49765fd..e2273d2f 100644
--- a/src/sys/wait.rs
+++ b/src/sys/wait.rs
@@ -21,12 +21,17 @@ pub enum WaitStatus {
StillAlive
}
-pub fn waitpid(pid: pid_t, options: WaitPidFlag) -> SysResult<WaitStatus> {
+pub fn waitpid(pid: pid_t, options: Option<WaitPidFlag>) -> SysResult<WaitStatus> {
use self::WaitStatus::*;
let mut status: i32 = 0;
- let res = unsafe { ffi::waitpid(pid as pid_t, &mut status as *mut c_int, options.bits()) };
+ let option_bits = match options {
+ Some(bits) => bits.bits(),
+ None => 0
+ };
+
+ let res = unsafe { ffi::waitpid(pid as pid_t, &mut status as *mut c_int, option_bits) };
if res < 0 {
Err(SysError::last())