Antoine Pitrou <pit...@free.fr> added the comment:

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.

----------
nosy: +pitrou, tomMoral

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue37266>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to