1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-23 18:55:08 +00:00

Kernel: Implement the alarm() syscall.

This commit is contained in:
Andreas Kling 2019-06-07 11:30:07 +02:00
parent a2a6bb93bc
commit d194ce828d
3 changed files with 19 additions and 4 deletions

View file

@ -188,8 +188,13 @@ bool Scheduler::pick_next()
auto exit_status = Process::reap(process);
dbgprintf("reaped unparented process %s(%u), exit status: %u\n", name.characters(), pid, exit_status);
}
return IterationDecision::Continue;
}
return true;
if (process.m_alarm_deadline && g_uptime > process.m_alarm_deadline) {
process.m_alarm_deadline = 0;
process.send_signal(SIGALRM, nullptr);
}
return IterationDecision::Continue;
});
// Dispatch any pending signals.