killjob.cpp~
来自「一个很棒的网络控制系统仿真软件」· CPP~ 代码 · 共 60 行
CPP~
60 行
#ifndef KILL_JOB#define KILL_JOB#include "gettask.cpp"#include "movetime.cpp"void ttKillJob(char *taskName) { Task* task = getTask(taskName); TaskNode* tn; JobNode* jn; if (task == NULL) { char buf[200]; sprintf(buf, "ttKillJob: Non-existent task '%s'!", taskName); MEX_ERROR(buf); return; } if (task->currentJob == NULL) { char buf[200]; sprintf(buf, "ttKillJob: No job to kill for task '%s'!", taskName); MEX_ERROR(buf); return; } if (task == rtsys->executing) { char buf[200]; sprintf(buf,"ttKillJob: Can not kill currently executing job for task '%s'!", taskName); MEX_ERROR(buf); return; } // remove task from readyQ tn = (TaskNode*) rtsys->readyQ->getLast(); while (tn != NULL) { if (tn->getTask() == task) { rtsys->readyQ->deleteNode(tn); break; } tn = (TaskNode*) tn->getPrev(); } delete task->currentJob; // Execute finished-hook task->finished_hook(task); jn = (JobNode*) task->jobQ->getLast(); if (jn == NULL) { task->currentJob = NULL; } else { task->currentJob = jn->getJob(); task->jobQ->deleteNode(jn); moveToTimeQ(task); }}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?