#include "Pledge.h" #include "sys/Syscall.h" #include "thread/Scheduler.h" Result sys_alarm(Registers*, SyscallArgs args) { unsigned int seconds = (unsigned int)args[0]; auto* current = Scheduler::current(); TRY(check_pledge(current, Promise::p_stdio)); u64 time_left = current->alarm_ticks_left; current->alarm_ticks_left = seconds * 1000; return time_left * 1000; }