• Guido van Rossum's avatar
    CRITICAL PATCH! · 1d5ad90c
    Guido van Rossum yazdı
    We occasionally received reports from people getting "invalid tstate"
    crashes (this is a fatal error in PyThreadState_Delete()).  Finally
    several people were able to reproduce it reliably and Tim Peters
    discovered that there is a race condition when multiple threads are
    calling this function without holding the global interpreter lock (the
    function may be called without holding that).
    
    Solved the race condition by adding a lock around the mutating uses of
    interp->tstate_head.  Tim and Jonathan Giddy have run tests that make
    it likely that this fixes the crashes -- although Tim hasn't heard
    from the person who reported the original problem.
    1d5ad90c
pystate.c 6.17 KB