From b09186b0d49712e8e2fe48ec9d09a432377b6484 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Tue, 24 Jan 2023 06:34:05 +0200 Subject: [PATCH] Unify main: - same multiprocessing start method for start.sh and setuptools entry point, - make it possible to run outside of the main thread. --- minode/main.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/minode/main.py b/minode/main.py index 72cebe0..813206d 100644 --- a/minode/main.py +++ b/minode/main.py @@ -223,9 +223,10 @@ def start_i2p_listener(): def main(): """Script entry point""" - signal.signal(signal.SIGINT, handler) - signal.signal(signal.SIGTERM, handler) - + try: + multiprocessing.set_start_method('spawn') + except RuntimeError: + pass parse_arguments() logging.basicConfig( @@ -233,6 +234,12 @@ def main(): format='[%(asctime)s] [%(levelname)s] %(message)s') logging.info('Starting MiNode') + try: + signal.signal(signal.SIGINT, handler) + signal.signal(signal.SIGTERM, handler) + except ValueError: + logging.warning('Working outside of the main thread!') + logging.info('Data directory: %s', shared.data_directory) if not os.path.exists(shared.data_directory): try: @@ -261,5 +268,4 @@ def main(): if __name__ == '__main__': - multiprocessing.set_start_method('spawn') main()