mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-11-10 14:24:57 -05:00
Don't convert to deferreds when not necessary
This commit is contained in:
parent
f9b4bb05e0
commit
86780a8bc3
5 changed files with 12 additions and 8 deletions
|
|
@ -101,7 +101,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
|
||||
|
|
|
|||
|
|
@ -341,7 +341,10 @@ class CacheDescriptor(_CacheDescriptorBase):
|
|||
cache.set(cache_key, result_d, callback=invalidate_callback)
|
||||
observer = result_d.observe()
|
||||
|
||||
return logcontext.make_deferred_yieldable(observer)
|
||||
if isinstance(observer, defer.Deferred):
|
||||
return logcontext.make_deferred_yieldable(observer)
|
||||
else:
|
||||
return observer
|
||||
|
||||
wrapped.invalidate = cache.invalidate
|
||||
wrapped.invalidate_all = cache.invalidate_all
|
||||
|
|
|
|||
|
|
@ -315,6 +315,9 @@ def preserve_context_over_deferred(deferred, context=None):
|
|||
the deferred follow the synapse logcontext rules: try
|
||||
``make_deferred_yieldable`` instead.
|
||||
"""
|
||||
if not isinstance(deferred, defer.Deferred):
|
||||
return deferred
|
||||
|
||||
if context is None:
|
||||
context = LoggingContext.current_context()
|
||||
d = _PreservingContextDeferred(context)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue