Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision a5cbab552d294d99fde864306632d7e511a75d3c authored by Thomas Moreau on 16 February 2020, 18:09:26 UTC, committed by GitHub on 16 February 2020, 18:09:26 UTC
As reported initially by @rad-pat in #6084, the following script causes a deadlock. ``` from concurrent.futures import ProcessPoolExecutor class ObjectWithPickleError(): """Triggers a RuntimeError when sending job to the workers""" def __reduce__(self): raise RuntimeError() if __name__ == "__main__": e = ProcessPoolExecutor() f = e.submit(id, ObjectWithPickleError()) e.shutdown(wait=False) f.result() # Deadlock on get ``` This is caused by the fact that the main process is closing communication channels that might be necessary to the `queue_management_thread` later. To avoid this, this PR let the `queue_management_thread` manage all the closing. https://bugs.python.org/issue39104 Automerge-Triggered-By: @pitrou
1 parent 1ed6161
Tip revision: a5cbab552d294d99fde864306632d7e511a75d3c authored by Thomas Moreau on 16 February 2020, 18:09:26 UTC
bpo-39104: Fix hanging ProcessPoolExecutor on shutdown nowait with pickling failure (GH-17670)
bpo-39104: Fix hanging ProcessPoolExecutor on shutdown nowait with pickling failure (GH-17670)
Tip revision: a5cbab5
File | Mode | Size |
---|---|---|
c-api | ||
data | ||
distributing | ||
distutils | ||
extending | ||
faq | ||
howto | ||
includes | ||
install | ||
installing | ||
library | ||
reference | ||
tools | ||
tutorial | ||
using | ||
whatsnew | ||
Makefile | -rw-r--r-- | 8.5 KB |
README.rst | -rw-r--r-- | 4.6 KB |
about.rst | -rw-r--r-- | 1.5 KB |
bugs.rst | -rw-r--r-- | 4.7 KB |
conf.py | -rw-r--r-- | 6.7 KB |
contents.rst | -rw-r--r-- | 538 bytes |
copyright.rst | -rw-r--r-- | 451 bytes |
glossary.rst | -rw-r--r-- | 52.2 KB |
license.rst | -rw-r--r-- | 45.2 KB |
make.bat | -rw-r--r-- | 5.5 KB |
myfile.bz2 | -rw-r--r-- | 331 bytes |
requirements.txt | -rw-r--r-- | 128 bytes |
runtime.txt | -rw-r--r-- | 3 bytes |
Computing file changes ...