📄 defaulthooks.cpp
字号:
#ifndef DEFAULT_HOOKS#define DEFAULT_HOOKS#include "overruntimers.cpp"void default_release(Task *task) { //printf("Release-hook for task '%s' at time %f\n",task->name,rtsys->time); // Create deadline OR-timer if (task->deadlineORhandler != NULL) { if(task->currentJob->absDeadline > rtsys->time) { double time = rtsys->time + task->deadline; createDLTimer(task, time); } else { createDLTimer(task, rtsys->time); } }}void default_start(Task *task) { //printf("Start-hook for task '%s' at time %f\n",task->name,rtsys->time); // Update the last start time for the task task->currentJob->lastStart = rtsys->time; // Create exectime OR-timer if (task->exectimeORhandler != NULL && task->currentJob->budget > EPS) { double time = rtsys->time + task->currentJob->budget; createWCETTimer(task, time); }}void default_suspend(Task* task) { //printf("Suspend-hook for task '%s' at time %f\n",task->name,rtsys->time); // Decrease budget if (task->currentJob) task->currentJob->budget -= (rtsys->time - task->currentJob->lastStart); // Delete exectime OR-timer if it exists removeWCETTimer(task);}void default_resume(Task* task) { //printf("Resume-hook for task '%s' at time %f\n",task->name,rtsys->time); // Update the last start time for the task task->currentJob->lastStart = rtsys->time; // Create exectime OR-timer if (task->exectimeORhandler != NULL && task->currentJob->budget > EPS) { double time = rtsys->time + task->currentJob->budget; createWCETTimer(task, time); }}void default_finish(Task* task) { //printf("Finish-hook for task '%s' at time %f\n",task->name,rtsys->time); // Delete deadline and exectime OR-timers if they exist removeORTimers(task);}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -