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 + -
显示快捷键?