Files
bsb2/kernel/interrupt/epilogues.cc

21 lines
365 B
C++

#include "epilogues.h"
#include "../thread/thread.h"
#include "guard.h"
Key Epilogues::key;
void Epilogues::keyboard(Vault& v) {
if(v.keys.produce(key)) {
v.keys_sem.v(v);
}
key.invalidate();
}
void Epilogues::timer(Vault& v) {
// Let Bellringer check for waiting threads
v.bellringer.check(v);
// Reschedule on each tick
v.scheduler.resume();
}