summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--distbuild/json_router.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/distbuild/json_router.py b/distbuild/json_router.py
index 8b7b6457..5bbb8fb9 100644
--- a/distbuild/json_router.py
+++ b/distbuild/json_router.py
@@ -93,6 +93,8 @@ class JsonRouter(distbuild.StateMachine):
new['id'] = id
helper.send(new)
logging.debug('JsonRouter: sent to helper: %s', repr(new))
+ else:
+ logging.warn('do_cancel: Request %s is not running.' % id)
def do_response(self, helper, event):
t = self._lookup_request(event.msg['id'])
@@ -102,6 +104,10 @@ class JsonRouter(distbuild.StateMachine):
new['id'] = self.route_map.get_incoming_id(msg['id'])
client.send(new)
logging.debug('JsonRouter: sent to client: %s', repr(new))
+ self.route_map.remove(msg['id'])
+ else:
+ logging.warn('do_response: Request %s is not running.' %
+ event.msg['id'])
def do_helper_ready(self, helper, event):
self.pending_helpers.append(helper)
@@ -116,6 +122,9 @@ class JsonRouter(distbuild.StateMachine):
new['id'] = self.route_map.get_incoming_id(msg['id'])
client.send(new)
logging.debug('JsonRouter: sent to client: %s', repr(new))
+ else:
+ logging.warn('do_exec_output: Request %s is not running.' %
+ event.msg['id'])
def close(self, event_source, event):
logging.debug('closing: %s', repr(event_source))
@@ -130,6 +139,7 @@ class JsonRouter(distbuild.StateMachine):
# client quit).
for request_id in self.running_requests.keys():
client, msg, helper = self.running_requests[request_id]
+ self.route_map.remove(msg['id'])
if event_source == client:
del self.running_requests[request_id]
elif event_source == helper:
@@ -141,6 +151,7 @@ class JsonRouter(distbuild.StateMachine):
while i < len(self.pending_requests):
client, msg = self.pending_requests[i]
if event_source == client:
+ self.route_map.remove(msg['id'])
del self.pending_requests[i]
else:
i += 1