diff options
Diffstat (limited to 'Lib/concurrent/futures/process.py')
-rw-r--r-- | Lib/concurrent/futures/process.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Lib/concurrent/futures/process.py b/Lib/concurrent/futures/process.py index aaa5151e01..63f22cfca3 100644 --- a/Lib/concurrent/futures/process.py +++ b/Lib/concurrent/futures/process.py @@ -78,11 +78,13 @@ _global_shutdown = False class _ThreadWakeup: - __slot__ = ["_state"] - def __init__(self): self._reader, self._writer = mp.Pipe(duplex=False) + def close(self): + self._writer.close() + self._reader.close() + def wakeup(self): self._writer.send_bytes(b"") @@ -654,6 +656,11 @@ class ProcessPoolExecutor(_base.Executor): self._call_queue = None self._result_queue = None self._processes = None + + if self._queue_management_thread_wakeup: + self._queue_management_thread_wakeup.close() + self._queue_management_thread_wakeup = None + shutdown.__doc__ = _base.Executor.shutdown.__doc__ atexit.register(_python_exit) |