diff --git a/Lib/concurrent/futures/process.py b/Lib/concurrent/futures/process.py index d7e2478d9227b5f..fc7476bb0b92ffe 100644 --- a/Lib/concurrent/futures/process.py +++ b/Lib/concurrent/futures/process.py @@ -489,7 +489,7 @@ class BrokenProcessPool(_base.BrokenExecutor): class ProcessPoolExecutor(_base.Executor): def __init__(self, max_workers=None, mp_context=None, - initializer=None, initargs=()): + initializer=None, initargs=(), daemon=True): """Initializes a new ProcessPoolExecutor instance. Args: @@ -520,6 +520,8 @@ def __init__(self, max_workers=None, mp_context=None, self._initializer = initializer self._initargs = initargs + self._daemon = daemon + # Management thread self._queue_management_thread = None @@ -578,7 +580,7 @@ def weakref_cb(_, self._result_queue, self._queue_management_thread_wakeup), name="QueueManagerThread") - self._queue_management_thread.daemon = True + self._queue_management_thread.daemon = self._daemon self._queue_management_thread.start() _threads_wakeups[self._queue_management_thread] = \ self._queue_management_thread_wakeup