salsa 0.7.1
Loading...
Searching...
No Matches
TaskState.cc
1#include <signal.h>
2#include "TaskState.hh"
3#include "TaskExecutor.hh"
4namespace Salsa {
5
6TaskState::TaskState(TaskExecutor * pTaskExecutor) : Object(), mpTaskExecutor(pTaskExecutor)
7{
11}
13{
17 delete mpTask;
18 delete mpTaskExecutor;
19}
20
21void TaskState::id(uint32_t id)
22{
26 mId = id;
27}
28uint32_t TaskState::id() const
29{
33 return mId;
34}
35
37{
41 mState = s;
42}
44{
48 return mState;
49}
50
51void TaskState::pid(uint32_t pid)
52{
56 mPID = pid;
57}
58uint32_t TaskState::pid() const
59{
63 return mPID;
64}
65
66TaskInfo * TaskState::task() const
67{
71 return mpTask;
72}
73
74void TaskState::task(TaskInfo * t)
75{
79
80 mpTask = t;
81}
82
90
92{
96
97 if (mPID == 0) return;
98
99 int rc = kill(mPID, SIGKILL);
100 if (rc == 0) {
101 SPD_WARN("JOB [{}:{}] PID [{}] was killed by [SIGKILL] signal", mpTask->jobid(), mpTask->taskid(), mPID);
102 }
103 else {
104 SPD_ERROR("JOB [{}:{}] PID [{}] could not be killed it [SIGKILL] !!!", mpTask->jobid(), mpTask->taskid(), mPID);
105 }
106
107 // mPID = 0;
108 mState = killed;
109}
110
111void TaskState::print(bool verbose) const
112{
116
117 if (!verbose) return;
118
119 SPD_INFO("id [{}] state [{}] job [{}:{}]", mId, static_cast<int>(mState), mpTask ? mpTask->jobid() : "n/a",
120 mpTask ? mpTask->taskid() : -1);
121}
122
123} // namespace Salsa
Base Salsa Object class.
Definition Object.hh:15
Base TaskExecutor class.
TaskExecutor * executor()
Definition TaskState.cc:83
uint32_t mId
ID of task state.
Definition TaskState.hh:42
uint32_t pid() const
Definition TaskState.cc:58
uint32_t id() const
Definition TaskState.cc:28
EState mState
Status of actor.
Definition TaskState.hh:43
TaskInfo * task() const
Definition TaskState.cc:66
uint32_t mPID
Task PID.
Definition TaskState.hh:45
void print(bool verbose=false) const
Definition TaskState.cc:111
TaskInfo * mpTask
TaskInfo held by said actor.
Definition TaskState.hh:44
virtual ~TaskState()
Definition TaskState.cc:12
EState state() const
Definition TaskState.cc:43
TaskState(TaskExecutor *te=nullptr)
Definition TaskState.cc:6
EState
Status of task.
Definition TaskState.hh:19
TaskExecutor * mpTaskExecutor
Task Executor.
Definition TaskState.hh:46