diff --git a/tools/python/xen/xend/server/controller.py b/tools/python/xen/xend/server/controller.py index 49d6e26ea8..6804331ac7 100755 --- a/tools/python/xen/xend/server/controller.py +++ b/tools/python/xen/xend/server/controller.py @@ -180,7 +180,8 @@ class ControllerFactory(CtrlMsgRcvr): """ if self.dlist: d = self.dlist.pop(0) - d.callback(*args) + if not d.called: + d.callback(*args) def errDeferred(self, *args): """Signal an error to the top deferred object. @@ -189,7 +190,8 @@ class ControllerFactory(CtrlMsgRcvr): """ if self.dlist: d = self.dlist.pop(0) - d.errback(*args) + if not d.called: + d.errback(*args) class Controller(CtrlMsgRcvr): """Abstract class for a device controller attached to a domain.