Fix timeout function

Turns out deferred.cancel sometimes throws, so we do that last to ensure
that we always do resolve the new deferred.
pull/14/head
Erik Johnston 7 years ago
parent c30cfff572
commit 24efb2a70d
  1. 3
      synapse/util/async_helpers.py

@ -456,11 +456,12 @@ def timeout_no_seriously(deferred, timeout, reactor):
def time_it_out():
timed_out[0] = True
deferred.cancel()
if not new_d.called:
new_d.errback(DeferredTimeoutError(timeout, "Deferred"))
deferred.cancel()
delayed_call = reactor.callLater(timeout, time_it_out)
def convert_cancelled(value):

Loading…
Cancel
Save