Commit 4215d273 authored by Richard Oudkerk's avatar Richard Oudkerk

Issue #15101: Make pool finalizer avoid joining current thread

parent 48ee6908
...@@ -489,7 +489,8 @@ class Pool(object): ...@@ -489,7 +489,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(1e100)
# 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'):
...@@ -499,10 +500,12 @@ class Pool(object): ...@@ -499,10 +500,12 @@ class Pool(object):
p.terminate() p.terminate()
debug('joining task handler') debug('joining task handler')
task_handler.join(1e100) if threading.current_thread() is not task_handler:
task_handler.join(1e100)
debug('joining result handler') debug('joining result handler')
result_handler.join(1e100) if threading.current_thread() is not result_handler:
result_handler.join(1e100)
if pool and hasattr(pool[0], 'terminate'): if pool and hasattr(pool[0], 'terminate'):
debug('joining pool workers') debug('joining pool workers')
......
...@@ -67,6 +67,8 @@ Core and Builtins ...@@ -67,6 +67,8 @@ Core and Builtins
Library Library
------- -------
- Issue #15101: Make pool finalizer avoid joining current thread.
- Issue #15054: A bug in tokenize.tokenize that caused string literals - Issue #15054: A bug in tokenize.tokenize that caused string literals
with 'b' and 'br' prefixes to be incorrectly tokenized has been fixed. with 'b' and 'br' prefixes to be incorrectly tokenized has been fixed.
Patch by Serhiy Storchaka. Patch by Serhiy Storchaka.
......
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