summaryrefslogtreecommitdiff
path: root/src/sys/select.rs
diff options
context:
space:
mode:
authorAlan Somers <asomers@gmail.com>2016-11-19 15:45:59 -0700
committerAlan Somers <asomers@gmail.com>2016-11-19 20:33:01 -0700
commite983d20bd6be3dde43ed4a7f9f6e63eda19872b3 (patch)
tree53d09e3659486613a5295617702a7c87b2ab4e00 /src/sys/select.rs
parentcc6c3167ecdbff2e482f865544569257b15ff825 (diff)
downloadnix-e983d20bd6be3dde43ed4a7f9f6e63eda19872b3.zip
Make TimeVal a NewType
Diffstat (limited to 'src/sys/select.rs')
-rw-r--r--src/sys/select.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/sys/select.rs b/src/sys/select.rs
index 28b664aa..c9e925dd 100644
--- a/src/sys/select.rs
+++ b/src/sys/select.rs
@@ -1,6 +1,6 @@
use std::ptr::null_mut;
use std::os::unix::io::RawFd;
-use libc::c_int;
+use libc::{c_int, timeval};
use {Errno, Result};
use sys::time::TimeVal;
@@ -56,8 +56,7 @@ impl FdSet {
}
mod ffi {
- use libc::c_int;
- use sys::time::TimeVal;
+ use libc::{c_int, timeval};
use super::FdSet;
extern {
@@ -65,7 +64,7 @@ mod ffi {
readfds: *mut FdSet,
writefds: *mut FdSet,
errorfds: *mut FdSet,
- timeout: *mut TimeVal) -> c_int;
+ timeout: *mut timeval) -> c_int;
}
}
@@ -77,7 +76,8 @@ pub fn select(nfds: 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.map(|tv| tv as *mut TimeVal).unwrap_or(null_mut());
+ let timeout = timeout.map(|tv| &mut tv.timeval() as *mut timeval)
+ .unwrap_or(null_mut());
let res = unsafe {
ffi::select(nfds, readfds, writefds, errorfds, timeout)