diff options
author | Erik Johnston <erik@matrix.org> | 2017-04-04 09:46:16 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-04-04 09:46:16 +0100 |
commit | 62b89daac6f4418d831d531fa40ad71aa0c74fb9 (patch) | |
tree | a5fa797ac7e65f85cae52cccd88451e5672257c6 /synapse/util/async.py | |
parent | Always advance stream tokens (diff) | |
parent | Merge pull request #2095 from matrix-org/rav/cull_log_preserves (diff) | |
download | synapse-62b89daac6f4418d831d531fa40ad71aa0c74fb9.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/repl_tcp_server
Diffstat (limited to 'synapse/util/async.py')
-rw-r--r-- | synapse/util/async.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/synapse/util/async.py b/synapse/util/async.py index 35380bf8ed..1453faf0ef 100644 --- a/synapse/util/async.py +++ b/synapse/util/async.py @@ -89,6 +89,11 @@ class ObservableDeferred(object): deferred.addCallbacks(callback, errback) def observe(self): + """Observe the underlying deferred. + + Can return either a deferred if the underlying deferred is still pending + (or has failed), or the actual value. Callers may need to use maybeDeferred. + """ if not self._result: d = defer.Deferred() @@ -101,7 +106,7 @@ class ObservableDeferred(object): return d else: success, res = self._result - return defer.succeed(res) if success else defer.fail(res) + return res if success else defer.fail(res) def observers(self): return self._observers |