diff options
author | Kyle Stanley <aeros167@gmail.com> | 2020-03-27 19:31:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-27 19:31:22 (GMT) |
commit | b61b818d916942aad1f8f3e33181801c4a1ed14b (patch) | |
tree | e755041eb620f5b2937639b32c0b98d1afa54c89 /Doc/whatsnew | |
parent | 5f9c131c099d6675d1a9d0228497865488afd548 (diff) | |
download | cpython-b61b818d916942aad1f8f3e33181801c4a1ed14b.zip cpython-b61b818d916942aad1f8f3e33181801c4a1ed14b.tar.gz cpython-b61b818d916942aad1f8f3e33181801c4a1ed14b.tar.bz2 |
bpo-39812: Remove daemon threads in concurrent.futures (GH-19149)
Remove daemon threads from :mod:`concurrent.futures` by adding
an internal `threading._register_atexit()`, which calls registered functions
prior to joining all non-daemon threads. This allows for compatibility
with subinterpreters, which don't support daemon threads.
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r-- | Doc/whatsnew/3.9.rst | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst index 778e443..a76445b 100644 --- a/Doc/whatsnew/3.9.rst +++ b/Doc/whatsnew/3.9.rst @@ -195,6 +195,11 @@ which have not started running, instead of waiting for them to complete before shutting down the executor. (Contributed by Kyle Stanley in :issue:`39349`.) +Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` +and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves +compatibility with subinterpreters and predictability in their shutdown +processes. (Contributed by Kyle Stanley in :issue:`39812`.) + curses ------ |