summary refs log tree commit diff
path: root/synapse/logging
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2021-03-09 15:23:55 +0000
committerRichard van der Hoff <richard@matrix.org>2021-03-09 15:23:55 +0000
commit56c0c711c169548a2a4cf4e1948a76f7974ec4f8 (patch)
treeb8e625040829cea105d37556b11aa1598828e107 /synapse/logging
parentMerge remote-tracking branch 'origin/release-v1.29.0' into matrix-org-hotfixes (diff)
parentLink to the List user's media admin API from media Admin API docs (#9571) (diff)
downloadsynapse-56c0c711c169548a2a4cf4e1948a76f7974ec4f8.tar.xz
Merge remote-tracking branch 'origin/develop' into matrix-org-hotfixes
Diffstat (limited to 'synapse/logging')
-rw-r--r--synapse/logging/context.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/synapse/logging/context.py b/synapse/logging/context.py

index 78e27bfb00..1a7ea4fa96 100644 --- a/synapse/logging/context.py +++ b/synapse/logging/context.py
@@ -669,7 +669,7 @@ def preserve_fn(f): return g -def run_in_background(f, *args, **kwargs): +def run_in_background(f, *args, **kwargs) -> defer.Deferred: """Calls a function, ensuring that the current context is restored after return from the function, and that the sentinel context is set once the deferred returned by the function completes. @@ -697,8 +697,10 @@ def run_in_background(f, *args, **kwargs): if isinstance(res, types.CoroutineType): res = defer.ensureDeferred(res) + # At this point we should have a Deferred, if not then f was a synchronous + # function, wrap it in a Deferred for consistency. if not isinstance(res, defer.Deferred): - return res + return defer.succeed(res) if res.called and not res.paused: # The function should have maintained the logcontext, so we can