synapse-product/synapse/util
Sean Quah 49a683d871
Fix long-standing bug where ReadWriteLock could drop logging contexts (#10993)
Use `PreserveLoggingContext()` to ensure that logging contexts are not
lost when exiting a read/write lock.

When exiting a read/write lock, callbacks on a `Deferred` are triggered
as a signal to any waiting coroutines. Any waiting coroutine that
becomes runnable is likely to follow the Synapse logging context rules
and will restore its own logging context, then either run to completion
or await another `Deferred`, resetting the logging context in the
process.
2021-10-08 12:27:16 +01:00
..
caches More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
__init__.py Update utility code to handle C implementations of frozendict (#10902) 2021-09-28 09:13:23 -07:00
async_helpers.py Fix long-standing bug where ReadWriteLock could drop logging contexts (#10993) 2021-10-08 12:27:16 +01:00
batching_queue.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
daemonize.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
distributor.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
file_consumer.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
frozenutils.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
hash.py Add missing type hints to synapse.util (#9982) 2021-05-24 15:32:01 -04:00
httpresourcetree.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
iterutils.py Encode JSON responses on a thread in C, mk2 (#10905) 2021-09-28 09:37:58 +00:00
linked_list.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
logcontext.py Improve the backwards compatibility re-exports of synapse.logging.context (#5617) 2019-07-05 02:32:02 +10:00
logformatter.py Improve the backwards compatibility re-exports of synapse.logging.context (#5617) 2019-07-05 02:32:02 +10:00
macaroons.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
manhole.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
metrics.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
module_loader.py Standardise the module interface (#10062) 2021-06-18 12:15:52 +01:00
msisdn.py Add missing type hints to synapse.util (#9982) 2021-05-24 15:32:01 -04:00
patch_inline_callbacks.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
ratelimitutils.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
retryutils.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
rlimit.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
stringutils.py Simplify exception handling in is_ascii. (#9985) 2021-05-14 10:58:52 +01:00
templates.py Use direct references for some configuration variables (#10798) 2021-09-13 13:07:12 -04:00
threepids.py Use direct references for configuration variables (part 7). (#10959) 2021-10-04 07:18:54 -04:00
versionstring.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
wheel_timer.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00