Fix timeval in phy_wait for times greater than 1 second
This commit is contained in:
parent
5967c9aa7e
commit
99f318f86e
|
@ -47,7 +47,8 @@ pub fn wait(fd: RawFd, duration: Option<Duration>) -> io::Result<()> {
|
||||||
let mut timeout = libc::timeval { tv_sec: 0, tv_usec: 0 };
|
let mut timeout = libc::timeval { tv_sec: 0, tv_usec: 0 };
|
||||||
let timeout_ptr =
|
let timeout_ptr =
|
||||||
if let Some(duration) = duration {
|
if let Some(duration) = duration {
|
||||||
timeout.tv_usec = (duration.total_millis() * 1_000) as libc::suseconds_t;
|
timeout.tv_sec = duration.secs() as libc::time_t;
|
||||||
|
timeout.tv_usec = (duration.millis() * 1_000) as libc::suseconds_t;
|
||||||
&mut timeout as *mut _
|
&mut timeout as *mut _
|
||||||
} else {
|
} else {
|
||||||
ptr::null_mut()
|
ptr::null_mut()
|
||||||
|
|
Loading…
Reference in New Issue