mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-03 04:04:54 -04:00
Stop the parent process flushing the logs on exit (#8012)
This solves the problem that the first few lines are logged twice on matrix.org. Hopefully the comments explain it.
This commit is contained in:
parent
8b786db323
commit
0a86850ba3
4 changed files with 10 additions and 3 deletions
|
@ -60,8 +60,14 @@ def daemonize_process(pid_file: str, logger: logging.Logger, chdir: str = "/") -
|
|||
process_id = os.fork()
|
||||
|
||||
if process_id != 0:
|
||||
# parent process
|
||||
sys.exit(0)
|
||||
# parent process: exit.
|
||||
|
||||
# we use os._exit to avoid running the atexit handlers. In particular, that
|
||||
# means we don't flush the logs. This is important because if we are using
|
||||
# a MemoryHandler, we could have logs buffered which are now buffered in both
|
||||
# the main and the child process, so if we let the main process flush the logs,
|
||||
# we'll get two copies.
|
||||
os._exit(0)
|
||||
|
||||
# This is the child process. Continue.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue