diff --git a/crossbar/router/dealer.py b/crossbar/router/dealer.py index ff28f3e51..e34a48180 100644 --- a/crossbar/router/dealer.py +++ b/crossbar/router/dealer.py @@ -211,6 +211,10 @@ def detach(self, session): session=session._session_id, ) + if invoke.timeout_call: + invoke.timeout_call.cancel() + invoke.timeout_call = None + invokes = self._callee_to_invocations[callee] invokes.remove(invoke) if not invokes: @@ -249,6 +253,10 @@ def detach(self, session): if invoke.caller._transport: invoke.caller._transport.send(reply) + if invoke.timeout_call: + invoke.timeout_call.cancel() + invoke.timeout_call = None + invokes = self._caller_to_invocations[invoke.caller] invokes.remove(invoke) if not invokes: