Kaydet (Commit) f29ec4b0 authored tarafından Richard Oudkerk's avatar Richard Oudkerk

Issue #15101: Make pool finalizer avoid joining current thread.

üst da7a6e7d
...@@ -493,7 +493,8 @@ class Pool(object): ...@@ -493,7 +493,8 @@ class Pool(object):
# We must wait for the worker handler to exit before terminating # We must wait for the worker handler to exit before terminating
# workers because we don't want workers to be restarted behind our back. # workers because we don't want workers to be restarted behind our back.
debug('joining worker handler') debug('joining worker handler')
worker_handler.join() if threading.current_thread() is not worker_handler:
worker_handler.join()
# Terminate workers which haven't already finished. # Terminate workers which haven't already finished.
if pool and hasattr(pool[0], 'terminate'): if pool and hasattr(pool[0], 'terminate'):
...@@ -503,10 +504,12 @@ class Pool(object): ...@@ -503,10 +504,12 @@ class Pool(object):
p.terminate() p.terminate()
debug('joining task handler') debug('joining task handler')
task_handler.join() if threading.current_thread() is not task_handler:
task_handler.join()
debug('joining result handler') debug('joining result handler')
result_handler.join() if threading.current_thread() is not result_handler:
result_handler.join()
if pool and hasattr(pool[0], 'terminate'): if pool and hasattr(pool[0], 'terminate'):
debug('joining pool workers') debug('joining pool workers')
......
...@@ -70,6 +70,8 @@ Core and Builtins ...@@ -70,6 +70,8 @@ Core and Builtins
Library Library
------- -------
- Issue #15101: Make pool finalizer avoid joining current thread.
- Issue #15036: Mailbox no longer throws an error if a flush is done - Issue #15036: Mailbox no longer throws an error if a flush is done
between operations when removing or changing multiple items in mbox, between operations when removing or changing multiple items in mbox,
MMDF, or Babyl mailboxes. MMDF, or Babyl mailboxes.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment