signal errors to w.when_code() waiters too

This fixes the case where "wormhole send" would wait forever (upon network
error) instead of terminating with a useful error message.

Testing this will have to wait until we land the branch that abandons the
wormhole if the first connection fails, since that's the easiest way to
provoke a network error before when_code() has fired.
This commit is contained in:
Brian Warner 2017-04-23 15:30:46 -04:00
parent d6d6669b23
commit ebe9df312e

View File

@ -253,6 +253,8 @@ class _DeferredWormhole(object):
self._observer_result = WormholeClosed(result)
# but w.close() only gets error if we're unhappy
self._closed_result = result
for d in self._code_observers:
d.errback(self._observer_result)
for d in self._key_observers:
d.errback(self._observer_result)
for d in self._verifier_observers: