From afa283cd2dec015dd0aa4280e55b5a6b12bb4dc2 Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Thu, 8 Apr 2010 17:16:28 -0700 Subject: [PATCH] Add an errback for when calling a component's start() fails and revert it back to a Stopped state in this case --- deluge/component.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/deluge/component.py b/deluge/component.py index 9ca34a14e..a516fd95e 100644 --- a/deluge/component.py +++ b/deluge/component.py @@ -108,11 +108,18 @@ class Component(object): self._component_start_timer() return True + def on_start_fail(result): + self._component_state = "Stopped" + self._component_starting_deferred = None + log.error(result) + return result + if self._component_state == "Stopped": if hasattr(self, "start"): self._component_state = "Starting" d = maybeDeferred(self.start) d.addCallback(on_start) + d.addErrback(on_start_fail) self._component_starting_deferred = d else: d = maybeDeferred(on_start, None)