Skip to content

Commit 5b8db62

Browse files
committed
Slightly optimize Pool._taskqueue_buffersize_semaphores terminate
1 parent 35e93a9 commit 5b8db62

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

Lib/multiprocessing/pool.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -726,9 +726,10 @@ def _terminate_pool(cls, taskqueue, inqueue, outqueue, pool, change_notifier,
726726

727727
task_handler._state = TERMINATE
728728
# Release all semaphores to wake up task_handler to stop.
729-
for job_id, sema in tuple(taskqueue_buffersize_semaphores.items()):
730-
taskqueue_buffersize_semaphores.pop(job_id, None)
731-
sema.release()
729+
for job_id in tuple(taskqueue_buffersize_semaphores.keys()):
730+
sema = taskqueue_buffersize_semaphores.pop(job_id, None)
731+
if sema is not None:
732+
sema.release()
732733

733734
util.debug('helping task handler/workers to finish')
734735
cls._help_stuff_finish(inqueue, task_handler, len(pool))

0 commit comments

Comments
 (0)