mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-03 12:54:53 -04:00
SIGHUP for TLS cert reloading (#4495)
This commit is contained in:
parent
bc5f6e1797
commit
f6813919e8
5 changed files with 81 additions and 20 deletions
|
@ -127,7 +127,7 @@ class LoggingConfig(Config):
|
|||
)
|
||||
|
||||
|
||||
def setup_logging(config, use_worker_options=False):
|
||||
def setup_logging(config, use_worker_options=False, register_sighup=None):
|
||||
""" Set up python logging
|
||||
|
||||
Args:
|
||||
|
@ -136,7 +136,16 @@ def setup_logging(config, use_worker_options=False):
|
|||
|
||||
use_worker_options (bool): True to use 'worker_log_config' and
|
||||
'worker_log_file' options instead of 'log_config' and 'log_file'.
|
||||
|
||||
register_sighup (func | None): Function to call to register a
|
||||
sighup handler.
|
||||
"""
|
||||
if not register_sighup:
|
||||
if getattr(signal, "SIGHUP"):
|
||||
register_sighup = lambda x: signal.signal(signal.SIGHUP, x)
|
||||
else:
|
||||
register_sighup = lambda x: None
|
||||
|
||||
log_config = (config.worker_log_config if use_worker_options
|
||||
else config.log_config)
|
||||
log_file = (config.worker_log_file if use_worker_options
|
||||
|
@ -198,13 +207,7 @@ def setup_logging(config, use_worker_options=False):
|
|||
|
||||
load_log_config()
|
||||
|
||||
# TODO(paul): obviously this is a terrible mechanism for
|
||||
# stealing SIGHUP, because it means no other part of synapse
|
||||
# can use it instead. If we want to catch SIGHUP anywhere
|
||||
# else as well, I'd suggest we find a nicer way to broadcast
|
||||
# it around.
|
||||
if getattr(signal, "SIGHUP"):
|
||||
signal.signal(signal.SIGHUP, sighup)
|
||||
register_sighup(sighup)
|
||||
|
||||
# make sure that the first thing we log is a thing we can grep backwards
|
||||
# for
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue