From b9646b6f85fa9cbcc44f72df7c0fc315176a646b Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Sat, 14 Oct 2023 00:02:54 -0700 Subject: [PATCH] Enable multiprocessing freeze_support (for Windows) and enable forkserver Since we use a thread for logging among other possibilities, we were never able to use threads safely when forking. forkserver will do the job. --- src/ocrmypdf/__main__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ocrmypdf/__main__.py b/src/ocrmypdf/__main__.py index 85086c78..68aebdef 100755 --- a/src/ocrmypdf/__main__.py +++ b/src/ocrmypdf/__main__.py @@ -7,6 +7,7 @@ from __future__ import annotations import logging +import multiprocessing import os import signal import sys @@ -76,4 +77,7 @@ def run(args=None): if __name__ == '__main__': + multiprocessing.freeze_support() + if os.name == 'posix': + multiprocessing.set_start_method('forkserver') sys.exit(run())