📄 overruntimers.cpp
字号:
#ifndef OR_TIMERS#define OR_TIMERSvoid createDLTimer(Task *task, double time) { Timer *t = new Timer; t->name = NULL; t->time = time; t->period = 0.0; t->isPeriodic = false; t->wcetORtimer = false; t->dlORtimer = true; t->handler = task->deadlineORhandler; t->task = task; rtsys->timerQ->insertSorted(new TimerNode(t));} void createWCETTimer(Task *task, double time) { Timer *t = new Timer; t->name = NULL; t->time = time; t->period = 0.0; t->isPeriodic = false; t->wcetORtimer = true; t->dlORtimer = false; t->handler = task->exectimeORhandler; t->task = task; rtsys->timerQ->insertSorted(new TimerNode(t));} void removeWCETTimer(Task* task) { bool found = false; TimerNode* tn = (TimerNode*) rtsys->timerQ->getFirst(); while (tn!=NULL && !found) { Timer* t = tn->getTimer(); if (t->wcetORtimer && (t->task == task)) { found = true; rtsys->timerQ->deleteNode(tn); delete t; } else { tn = (TimerNode*) tn->getNext(); } }}void removeORTimers(Task *task) { bool found1 = false; bool found2 = false; TimerNode* tn = (TimerNode*) rtsys->timerQ->getFirst(); while (tn!=NULL && !(found1 && found2)) { Timer* t = tn->getTimer(); if (t->dlORtimer && t->task == task) { found1 = true; TimerNode* tmp = tn; tn = (TimerNode*) tn->getNext(); rtsys->timerQ->deleteNode(tmp); delete t; } else if (t->wcetORtimer && t->task == task) { found2 = true; TimerNode* tmp = tn; tn = (TimerNode*) tn->getNext(); rtsys->timerQ->deleteNode(tmp); } else tn = (TimerNode*) tn->getNext(); }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -