summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-04-25 17:00:11 +0200
committerSimon Rettberg2018-04-25 17:00:11 +0200
commit30c3af19036593d702618290f6a60732617c5297 (patch)
tree3489f764863cdc83a6687789df6ace8c5c106dcd
parent[inc/Taskmanager] isTask() Only query if taskId is given (diff)
downloadslx-admin-30c3af19036593d702618290f6a60732617c5297.tar.gz
slx-admin-30c3af19036593d702618290f6a60732617c5297.tar.xz
slx-admin-30c3af19036593d702618290f6a60732617c5297.zip
[rebootcontrol] Fix NO_SUCH_INSTANCE handling
-rw-r--r--inc/taskmanager.inc.php9
-rw-r--r--modules-available/rebootcontrol/inc/rebootcontrol.inc.php2
2 files changed, 7 insertions, 4 deletions
diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php
index 945e759d..54821e59 100644
--- a/inc/taskmanager.inc.php
+++ b/inc/taskmanager.inc.php
@@ -82,7 +82,7 @@ class Taskmanager
/**
* Checks whether the given task id corresponds to a known task in the taskmanager.
* Returns true iff the taskmanager is reachable and the status of the task
- * is different from NO_SUCH_TASK.
+ * is different from NO_SUCH_INSTANCE/_TASK.
* If you pass an array it is assumed that it was already queried and is evaluated
* directly.
*
@@ -91,10 +91,13 @@ class Taskmanager
*/
public static function isTask($task)
{
+ if ($task === false)
+ return false;
if (is_string($task)) {
$task = self::status($task);
}
- return isset($task['statusCode']) && $task['statusCode'] !== NO_SUCH_TASK;
+ return isset($task['statusCode']) && $task['statusCode'] !== NO_SUCH_INSTANCE
+ && $task['statusCode'] !== NO_SUCH_TASK;
}
/**
@@ -242,6 +245,6 @@ class Taskmanager
}
-foreach (array('TASK_FINISHED', 'TASK_ERROR', 'TASK_WAITING', 'NO_SUCH_TASK', 'TASK_PROCESSING') as $i) {
+foreach (array('TASK_FINISHED', 'TASK_ERROR', 'TASK_WAITING', 'NO_SUCH_TASK', 'NO_SUCH_INSTANCE', 'TASK_PROCESSING') as $i) {
define($i, $i);
}
diff --git a/modules-available/rebootcontrol/inc/rebootcontrol.inc.php b/modules-available/rebootcontrol/inc/rebootcontrol.inc.php
index 1024b036..ec4b84ed 100644
--- a/modules-available/rebootcontrol/inc/rebootcontrol.inc.php
+++ b/modules-available/rebootcontrol/inc/rebootcontrol.inc.php
@@ -66,7 +66,7 @@ class RebootControl
continue;
$id = $p[1];
$task = Taskmanager::status($id);
- if ($task === false) {
+ if (!Taskmanager::isTask($task)) {
Property::removeFromList(RebootControl::KEY_TASKLIST, $entry);
continue;
}