summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--application.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/application.rb b/application.rb
index 47cafa5..289ce8d 100644
--- a/application.rb
+++ b/application.rb
@@ -173,7 +173,14 @@ put '/:id/:hasStatus/?' do
#LOGGER.debug "Task " + params[:id].to_s + " set percentage completed to: "+params[:percentageCompleted].to_s
end
when /Cancelled|Error/
- OpenTox::Task.find(task.waiting_for).cancel if task.waiting_for and task.waiting_for.uri?
+ if task.waiting_for and task.waiting_for.uri?
+ # try cancelling the child task
+ begin
+ w = OpenTox::Task.find(task.waiting_for)
+ w.cancel if w.running?
+ rescue
+ end
+ end
LOGGER.debug("Aborting task "+task.uri.to_s)
Process.kill(9,task.pid) unless task.pid.nil?
task.pid = nil