mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
When shutdown is called with wait=False, the executor thread keeps running even after the ProcessPoolExecutor's state is reset. The executor then tries to replenish the worker processes pool resulting in an error and a potential hang when it comes across a worker that has died. Fixed the issue by having _adjust_process_count() return without doing anything if the ProcessPoolExecutor's state has been reset. Added unit tests to validate two scenarios: max_workers < num_tasks (exception) max_workers > num_tasks (exception + hang) |
||
|---|---|---|
| .. | ||
| futures | ||
| __init__.py | ||