summaryrefslogtreecommitdiff
path: root/src/sys/select.rs
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-02-19 17:25:46 +0300
committerNikolay Amiantov <ab@fmap.me>2016-02-20 00:19:13 +0300
commitdb22a823f497bf1ad74188f4ead66cfd751b3019 (patch)
tree2883e3afdd2c9e8593b43ab733133999ceabc2c5 /src/sys/select.rs
parent7fa7206e9ffe4a74762e4a8c1cdc1b8a480d07bb (diff)
downloadnix-db22a823f497bf1ad74188f4ead66cfd751b3019.zip
select: allow infinite timeout
Diffstat (limited to 'src/sys/select.rs')
-rw-r--r--src/sys/select.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sys/select.rs b/src/sys/select.rs
index 9d7c41f8..48746e72 100644
--- a/src/sys/select.rs
+++ b/src/sys/select.rs
@@ -71,11 +71,11 @@ pub fn select(nfds: c_int,
readfds: Option<&mut FdSet>,
writefds: Option<&mut FdSet>,
errorfds: Option<&mut FdSet>,
- timeout: &mut TimeVal) -> Result<c_int> {
+ timeout: Option<&mut TimeVal>) -> Result<c_int> {
let readfds = readfds.map(|set| set as *mut FdSet).unwrap_or(null_mut());
let writefds = writefds.map(|set| set as *mut FdSet).unwrap_or(null_mut());
let errorfds = errorfds.map(|set| set as *mut FdSet).unwrap_or(null_mut());
- let timeout = timeout as *mut TimeVal;
+ let timeout = timeout.map(|tv| tv as *mut TimeVal).unwrap_or(null_mut());
let res = unsafe {
ffi::select(nfds, readfds, writefds, errorfds, timeout)