mirror of
https://github.com/python/cpython.git
synced 2026-02-25 16:41:12 +00:00
Python 2.4 changed ntpath.abspath to do an import inside the function. As a result, due to Python's import lock, anything calling abspath on Windows (directly, or indirectly like tempfile.TemporaryFile) hung when it was called from a thread spawned as a side effect of importing a module. This is a depressingly frequent problem, and deserves a more general fix. I'm settling for a micro-fix here because this specific one accounts for a report of Zope Corp's ZEO hanging on Windows, and it was an odd way to change abspath to begin with (ntpath needs a different implementation depending on whether we're actually running on Windows, and the _obvious_ way to arrange for that is not to bury a possibly-failing import _inside_ the function). Note that if/when other micro-fixes of this kind get made, the new Lib/test/threaded_import_hangers.py is a convenient place to add tests for them. |
||
|---|---|---|
| .. | ||
| RPM | ||
| Vim | ||
| ACKS | ||
| AIX-NOTES | ||
| BeOS-NOTES | ||
| BeOS-setup.py | ||
| build.sh | ||
| cheatsheet | ||
| developers.txt | ||
| find_recursionlimit.py | ||
| gdbinit | ||
| HISTORY | ||
| indent.pro | ||
| NEWS | ||
| NEWS.help | ||
| Porting | ||
| PURIFY.README | ||
| pymemcompat.h | ||
| python-config.in | ||
| python-mode.el | ||
| python.man | ||
| README | ||
| README.OpenBSD | ||
| README.valgrind | ||
| RFD | ||
| setuid-prog.c | ||
| SpecialBuilds.txt | ||
| valgrind-python.supp | ||
| vgrindefs | ||
Python Misc subdirectory ======================== This directory contains files that wouldn't fit in elsewhere. Some documents are only of historic importance. Files found here ---------------- ACKS Acknowledgements AIX-NOTES Notes for building Python on AIX BeOS-NOTES Notes for building on BeOS BeOS-setup.py setup.py replacement for BeOS, see BeOS-NOTES cheatsheet Quick summary of Python by Ken Manheimer find_recursionlimit.py Script to find a value for sys.maxrecursionlimit gdbinit Handy stuff to put in your .gdbinit file, if you use gdb HISTORY News from previous releases -- oldest last HPUX-NOTES Notes about dynamic loading under HP-UX indent.pro GNU indent profile approximating my C style NEWS News for this release (for some meaning of "this") Porting Mini-FAQ on porting to new platforms PURIFY.README Information for Purify users pymemcompat.h Memory interface compatibility file. python.man UNIX man page for the python interpreter python-mode.el Emacs mode for editing Python programs README The file you're reading now README.valgrind Information for Valgrind users, see valgrind-python.supp RFD Request For Discussion about a Python newsgroup RPM (Old) tools to build RPMs SpecialBuilds.txt Describes extra symbols you can set for debug builds setuid-prog.c C helper program for set-uid Python scripts vgrindefs Python configuration for vgrind (a generic pretty printer) valgrind-python.supp Valgrind suppression file, see README.valgrind