From c779c1d941fb8bb883860be890cf65f2d4c8bd45 Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Mon, 21 Apr 2025 23:29:35 -0700 Subject: [PATCH] Mark setitimer as unimplemented, obsolete --- src/header/sys_time/mod.rs | 1 + src/header/unistd/mod.rs | 2 ++ src/platform/redox/signal.rs | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/src/header/sys_time/mod.rs b/src/header/sys_time/mod.rs index 9fdfff8dfc..7999d0d0fe 100644 --- a/src/header/sys_time/mod.rs +++ b/src/header/sys_time/mod.rs @@ -114,6 +114,7 @@ pub unsafe extern "C" fn setitimer( value: *const itimerval, ovalue: *mut itimerval, ) -> c_int { + // TODO setitimer is unimplemented on Redox Sys::setitimer(which, &*value, ovalue.as_mut()) .map(|()| 0) .or_minus_one_errno() diff --git a/src/header/unistd/mod.rs b/src/header/unistd/mod.rs index e0cb6457a1..adb4684f82 100644 --- a/src/header/unistd/mod.rs +++ b/src/header/unistd/mod.rs @@ -96,6 +96,7 @@ pub unsafe extern "C" fn access(path: *const c_char, mode: c_int) -> c_int { /// See . #[no_mangle] pub extern "C" fn alarm(seconds: c_uint) -> c_uint { + // TODO setitimer is unimplemented on Redox and obsolete let mut timer = sys_time::itimerval { it_value: sys_time::timeval { tv_sec: seconds as time_t, @@ -1032,6 +1033,7 @@ pub extern "C" fn ttyname_r(fildes: c_int, name: *mut c_char, namesize: size_t) #[deprecated] #[no_mangle] pub extern "C" fn ualarm(usecs: useconds_t, interval: useconds_t) -> useconds_t { + // TODO setitimer is unimplemented on Redox and obsolete let mut timer = sys_time::itimerval { it_value: sys_time::timeval { tv_sec: 0, diff --git a/src/platform/redox/signal.rs b/src/platform/redox/signal.rs index dac99ef3b7..65da538559 100644 --- a/src/platform/redox/signal.rs +++ b/src/platform/redox/signal.rs @@ -90,6 +90,10 @@ impl PalSignal for Sys { } fn setitimer(which: c_int, _new: &itimerval, old: Option<&mut itimerval>) -> Result<()> { + // TODO: setitimer is no longer part of POSIX and should not be implemented in Redox + // Change the platform-independent implementation to use POSIX timers. + // For Redox, the timer should probably use "/scheme/time" + unimplemented!(); let _path = match which { ITIMER_REAL => "/scheme/itimer/1", _ => return Err(Errno(EINVAL)),