#include "epilogues.h" #include "../debug/output.h" #include "../arch/core.h" #include "../arch/lapic.h" #include "guard.h" #include "../thread/scheduler.h" extern Key kout_key; #include "../user/app1/appl.h" extern Application application1; namespace Epilogues { void keyboard(Vault& v) { v.kout.setPos(0,0); v.kout << kout_key.ascii() << flush ; if(kout_key.scancode == Key::KEY_K) v.sch.kill(v.sch.dispatcher.lifePointer[3]); } void timer(Vault& v) { static int counter = 0; int x, y; if(Core::getID() == 0) { v.kout.getPos(x, y); v.kout.setPos(65, 0); v.kout << counter++ << flush; v.kout.setPos(x, y); } DBG << "timer C:" << dec << Core::getID() << " L:" << LAPIC::getID() << "\n" << flush; v.sch.resume(true); } void assassin(Vault& v) { DBG << "assassin epilog\n"<< endl; if (v.sch.active()->kill_flag) { v.sch.exit(); } } }; // namespace Epilogues