From 0b4fcb6845a2e67c4b5475b79541dd985726d6ef Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Thu, 2 Jan 2014 10:55:40 +0100 Subject: [PATCH] Fix for an Issue #591 --- lib/utils/api.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/utils/api.py b/lib/utils/api.py index 58cdb820c..eae2cd87a 100644 --- a/lib/utils/api.py +++ b/lib/utils/api.py @@ -187,8 +187,11 @@ class Task(object): return None def engine_get_returncode(self): - self.process.poll() - return self.process.returncode + if self.process: + self.process.poll() + return self.process.returncode + else: + return None def engine_has_terminated(self): return isinstance(self.engine_get_returncode(), int) @@ -510,7 +513,10 @@ def scan_status(taskid): logger.warning("[%s] Invalid task ID provided to scan_status()" % taskid) return jsonize({"success": False, "message": "Invalid task ID"}) - status = "terminated" if DataStore.tasks[taskid].engine_has_terminated() is True else "running" + if DataStore.tasks[taskid].engine_get_returncode() is None: + status = "not running" + else: + status = "terminated" if DataStore.tasks[taskid].engine_has_terminated() is True else "running" logger.debug("[%s] Retrieved scan status" % taskid) return jsonize({