Message362890
There will be a problem with `concurrent.futures.ProcessPoolExecutor`, which currently launches its management thread as a daemon thread. The daemon thread itself is not problematic, because ProcessPoolExecutor uses an atexit hook to shutdown itself and therefore join the management thread.
It seems, however, that it's not easy to make the thread non-daemon, because atexit hooks are executed *after* non-daemon threads are joined. That would lead to a deadlock: the interpreter would wait for the non-daemon management thread to exit, but the ProcessPoolExecutor would wait for the atexit hook to be called before telling the management thread to exit.
cc'ing Thomas Moreau, who's worker a lot on this. |
|
Date |
User |
Action |
Args |
2020-02-28 18:11:44 | pitrou | set | recipients:
+ pitrou, vstinner, eric.snow, tomMoral |
2020-02-28 18:11:44 | pitrou | set | messageid: <1582913504.7.0.910131386752.issue37266@roundup.psfhosted.org> |
2020-02-28 18:11:44 | pitrou | link | issue37266 messages |
2020-02-28 18:11:44 | pitrou | create | |
|