@@ -78,11 +78,13 @@ |
|
|
78 |
78 |
|
79 |
79 |
|
80 |
80 |
class _ThreadWakeup: |
81 |
|
-__slot__ = ["_state"] |
82 |
|
- |
83 |
81 |
def __init__(self): |
84 |
82 |
self._reader, self._writer = mp.Pipe(duplex=False) |
85 |
83 |
|
|
84 |
+def close(self): |
|
85 |
+self._writer.close() |
|
86 |
+self._reader.close() |
|
87 |
+ |
86 |
88 |
def wakeup(self): |
87 |
89 |
self._writer.send_bytes(b"") |
88 |
90 |
|
@@ -654,6 +656,11 @@ def shutdown(self, wait=True): |
|
|
654 |
656 |
self._call_queue = None |
655 |
657 |
self._result_queue = None |
656 |
658 |
self._processes = None |
|
659 |
+ |
|
660 |
+if self._queue_management_thread_wakeup: |
|
661 |
+self._queue_management_thread_wakeup.close() |
|
662 |
+self._queue_management_thread_wakeup = None |
|
663 |
+ |
657 |
664 |
shutdown.__doc__ = _base.Executor.shutdown.__doc__ |
658 |
665 |
|
659 |
666 |
atexit.register(_python_exit) |