diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs index 752339a..30668f9 100644 --- a/src/platform/redox/mod.rs +++ b/src/platform/redox/mod.rs @@ -749,8 +749,16 @@ impl Pal for Sys { Err(Errno(EPERM)) } - fn getrusage(who: c_int, r_usage: Out) -> Result<()> { - todo_skip!(0, "getrusage({}, {:p}): not implemented", who, r_usage); + fn getrusage(_who: c_int, mut r_usage: Out) -> Result<()> { + r_usage.write(rusage { + ru_utime: timeval { tv_sec: 0, tv_usec: 0 }, + ru_stime: timeval { tv_sec: 0, tv_usec: 0 }, + ru_maxrss: 0, ru_ixrss: 0, ru_idrss: 0, ru_isrss: 0, + ru_minflt: 0, ru_majflt: 0, ru_nswap: 0, + ru_inblock: 0, ru_oublock: 0, + ru_msgsnd: 0, ru_msgrcv: 0, ru_nsignals: 0, + ru_nvcsw: 0, ru_nivcsw: 0, + }); Ok(()) } @@ -913,23 +921,7 @@ impl Pal for Sys { Ok(()) } - unsafe fn msync(addr: *mut c_void, len: usize, flags: c_int) -> Result<()> { - todo_skip!( - 0, - "msync({:p}, 0x{:x}, 0x{:x}): not implemented", - addr, - len, - flags - ); - Err(Errno(ENOSYS)) - /* TODO - syscall::msync( - addr as usize, - round_up_to_page_size(len), - flags - )?; - */ - } + unsafe fn msync(_addr: *mut c_void, _len: usize, _flags: c_int) -> Result<()> { Ok(()) } unsafe fn munlock(addr: *const c_void, len: usize) -> Result<()> { // Redox never swaps @@ -953,16 +945,7 @@ impl Pal for Sys { Ok(()) } - unsafe fn madvise(addr: *mut c_void, len: usize, flags: c_int) -> Result<()> { - todo_skip!( - 0, - "madvise({:p}, 0x{:x}, 0x{:x}): not implemented", - addr, - len, - flags - ); - Err(Errno(ENOSYS)) - } + unsafe fn madvise(_addr: *mut c_void, _len: usize, _flags: c_int) -> Result<()> { Ok(()) } unsafe fn nanosleep(rqtp: *const timespec, rmtp: *mut timespec) -> Result<()> { let redox_rqtp = unsafe { redox_timespec::from(&*rqtp) };