diff options
-rw-r--r-- | inc/taskmanager.inc.php | 9 | ||||
-rw-r--r-- | modules-available/rebootcontrol/inc/rebootcontrol.inc.php | 2 |
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; } |