1
Files
interrupt-handling-using-th…/code/pit_after.cpp
2023-03-02 17:29:30 +01:00

13 lines
346 B
C++

void Pit::trigger() {
time.addNanoseconds(timerInterval); // Increase system time
// Don't use PIT for scheduling when the APIC timer is enabled
if (Apic::isEnabled()) {
return;
}
if (time.toMilliseconds() % yieldInterval == 0) {
System::getService<SchedulerService>().yield(); // Trigger preemption
}
}