Skip to content
Snippets Groups Projects
Commit 23bb8837 authored by Paul Sajna's avatar Paul Sajna
Browse files

update nanosleep

parent 031fc5da
No related branches found
No related tags found
No related merge requests found
......@@ -139,9 +139,27 @@ pub fn mkdir(path: *const c_char, mode: mode_t) -> c_int {
pub fn nanosleep(rqtp: *const timespec, rmtp: *mut timespec) -> c_int {
unsafe {
let rqtp = mem::transmute::<*const timespec, &redox_timespec>(rqtp);
let rmtp = mem::transmute::<*mut timespec, &mut redox_timespec>(rmtp);
e(syscall::nanosleep(rqtp, rmtp)) as c_int
let redox_rqtp = redox_timespec {
tv_sec: (*rqtp).tv_sec,
tv_nsec: (*rqtp).tv_nsec as i32,
};
let mut redox_rmtp: redox_timespec;
if rmtp.is_null() {
redox_rmtp = redox_timespec::default();
} else {
redox_rmtp = redox_timespec {
tv_sec: (*rmtp).tv_sec,
tv_nsec: (*rmtp).tv_nsec as i32,
};
}
match e(syscall::nanosleep(&redox_rqtp, &mut redox_rmtp)) as c_int {
-1 => { -1 }
_ => {
(*rmtp).tv_sec = redox_rmtp.tv_sec;
(*rmtp).tv_nsec = redox_rmtp.tv_nsec as i64;
0
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment