diff options
author | Erik Johnston <erik@matrix.org> | 2016-08-24 14:28:57 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-08-24 14:28:57 +0100 |
commit | 90d5983d7afa89a4431fea053512190ae83c8f3a (patch) | |
tree | 6c86dd3497030f7e9b629264e210e05a6ea1ce76 /synapse/util/async.py | |
parent | Bump changelog and version (diff) | |
parent | Merge pull request #1042 from matrix-org/erikj/preserve_log_contexts (diff) | |
download | synapse-90d5983d7afa89a4431fea053512190ae83c8f3a.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.17.1
Diffstat (limited to 'synapse/util/async.py')
-rw-r--r-- | synapse/util/async.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/synapse/util/async.py b/synapse/util/async.py index c84b23ff46..347fb1e380 100644 --- a/synapse/util/async.py +++ b/synapse/util/async.py @@ -146,10 +146,10 @@ def concurrently_execute(func, args, limit): except StopIteration: pass - return defer.gatherResults([ + return preserve_context_over_deferred(defer.gatherResults([ preserve_fn(_concurrently_execute_inner)() for _ in xrange(limit) - ], consumeErrors=True).addErrback(unwrapFirstError) + ], consumeErrors=True)).addErrback(unwrapFirstError) class Linearizer(object): @@ -181,7 +181,8 @@ class Linearizer(object): self.key_to_defer[key] = new_defer if current_defer: - yield preserve_context_over_deferred(current_defer) + with PreserveLoggingContext(): + yield current_defer @contextmanager def _ctx_manager(): @@ -264,7 +265,7 @@ class ReadWriteLock(object): curr_readers.clear() self.key_to_current_writer[key] = new_defer - yield defer.gatherResults(to_wait_on) + yield preserve_context_over_deferred(defer.gatherResults(to_wait_on)) @contextmanager def _ctx_manager(): |