summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2021-05-04 18:06:23 +0100
committerErik Johnston <erik@matrix.org>2021-05-04 18:06:23 +0100
commit0d9d84dac0afa3b11af046d61b015d172ffec3c8 (patch)
tree13b350d12b7cc18ed4f0bd62db69b966f04fd178 /synapse
parentMerge branch 'erikj/limit_how_often_gc' into erikj/test_send (diff)
downloadsynapse-0d9d84dac0afa3b11af046d61b015d172ffec3c8.tar.xz
fix logging contexts
Diffstat (limited to 'synapse')
-rw-r--r--synapse/crypto/keyring.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py

index a8c8df2bad..eb88873eac 100644 --- a/synapse/crypto/keyring.py +++ b/synapse/crypto/keyring.py
@@ -134,17 +134,12 @@ class _Queue: d = defer.Deferred() self._next_values.append((value, d)) - if self._is_processing: - return await d + if not self._is_processing: + run_as_background_process(self._name, self._unsafe_process) - run_as_background_process(self._name, self._unsafe_process) - - return await d + return await make_deferred_yieldable(d) async def _unsafe_process(self): - # We purposefully defer to the next loop. - await self._clock.sleep(0) - try: if self._is_processing: return @@ -152,6 +147,9 @@ class _Queue: self._is_processing = True while self._next_values: + # We purposefully defer to the next loop. + await self._clock.sleep(0) + next_values = self._next_values self._next_values = []