Implement POSIX timer functions

This commit is contained in:
Wildan Mubarok
2025-10-15 14:10:06 +00:00
committed by Jeremy Soller
parent 6acf185685
commit 2efcd20fbc
8 changed files with 405 additions and 22 deletions
+15 -1
View File
@@ -3,12 +3,13 @@ use crate::{
c_str::CStr,
error::{Errno, Result},
header::{
signal::sigevent,
sys_resource::{rlimit, rusage},
sys_stat::stat,
sys_statvfs::statvfs,
sys_time::{timeval, timezone},
sys_utsname::utsname,
time::timespec,
time::{itimerspec, timespec},
},
out::Out,
pthread,
@@ -252,6 +253,19 @@ pub trait Pal {
fn sync() -> Result<()>;
fn timer_create(clock_id: clockid_t, evp: *mut sigevent, timerid: *mut timer_t) -> Result<()>;
fn timer_delete(timerid: timer_t) -> Result<()>;
fn timer_gettime(timerid: timer_t, value: *mut itimerspec) -> Result<()>;
fn timer_settime(
timerid: timer_t,
flags: c_int,
value: *const itimerspec,
ovalue: *mut itimerspec,
) -> Result<()>;
// Always successful
fn umask(mask: mode_t) -> mode_t;