Use spawn multiprocessing context to fix Linux ProcessPool issues

This commit is contained in:
Benjamin Berman 2025-02-18 19:46:57 -08:00
parent e65faca817
commit ffc6a7fd38

View File

@ -21,7 +21,9 @@ class ProcessPoolExecutor(ProcessPool, Executor):
max_tasks: int = 0, max_tasks: int = 0,
initializer: Callable = None, initializer: Callable = None,
initargs: list | tuple = (), initargs: list | tuple = (),
context: multiprocessing.context.BaseContext = multiprocessing): context: multiprocessing.context.BaseContext = None):
if context is None:
context = multiprocessing.get_context('spawn')
super().__init__(max_workers=max_workers, max_tasks=max_tasks, initializer=initializer, initargs=initargs, context=context) super().__init__(max_workers=max_workers, max_tasks=max_tasks, initializer=initializer, initargs=initargs, context=context)
def shutdown(self, wait=True, *, cancel_futures=False): def shutdown(self, wait=True, *, cancel_futures=False):