From e99857d12586c95ce6c39d379dcb0d981ee07d8d Mon Sep 17 00:00:00 2001 From: Paul Sajna <paulsajna@gmail.com> Date: Fri, 9 Mar 2018 03:42:42 -0800 Subject: [PATCH] sleep and usleep --- src/unistd/src/lib.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/unistd/src/lib.rs b/src/unistd/src/lib.rs index e83c8a82..c3fd2de6 100644 --- a/src/unistd/src/lib.rs +++ b/src/unistd/src/lib.rs @@ -5,6 +5,7 @@ extern crate platform; pub use platform::types::*; +use core::ptr; pub const R_OK: c_int = 1; pub const W_OK: c_int = 2; @@ -381,7 +382,13 @@ pub extern "C" fn setuid(uid: uid_t) -> c_int { #[no_mangle] pub extern "C" fn sleep(seconds: c_uint) -> c_uint { - unimplemented!(); + let rqtp = timespec { + tv_sec: seconds as i64, + tv_nsec: 0, + }; + let rmtp = ptr::null_mut(); + platform::nanosleep(&rqtp, rmtp); + 0 } #[no_mangle] @@ -441,7 +448,12 @@ pub extern "C" fn unlink(path: *const c_char) -> c_int { #[no_mangle] pub extern "C" fn usleep(useconds: useconds_t) -> c_int { - unimplemented!(); + let rqtp = timespec { + tv_sec: 0, + tv_nsec: (useconds * 1000).into(), + }; + let rmtp = ptr::null_mut(); + platform::nanosleep(&rqtp, rmtp) } #[no_mangle] -- GitLab