• Tim Peters's avatar
    SF bug #1473760 TempFile can hang on Windows. · 21fbd57d
    Tim Peters yazdı
    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.
    21fbd57d
threaded_import_hangers.py 1.38 KB