summaryrefslogtreecommitdiffstats
path: root/Python/instruction_sequence.c
diff options
context:
space:
mode:
authorSam Gross <colesbury@gmail.com>2024-05-29 19:26:04 (GMT)
committerGitHub <noreply@github.com>2024-05-29 19:26:04 (GMT)
commitc22323cd1c200ca1b22c47af95f67c4b2d661fe7 (patch)
treefe4c2852469f1ef8c57c52e1ff0c75b9793e12a1 /Python/instruction_sequence.c
parentdf93f5d4bf9d70036d485666d4dd4f009d37f8b9 (diff)
downloadcpython-c22323cd1c200ca1b22c47af95f67c4b2d661fe7.zip
cpython-c22323cd1c200ca1b22c47af95f67c4b2d661fe7.tar.gz
cpython-c22323cd1c200ca1b22c47af95f67c4b2d661fe7.tar.bz2
gh-119525: Fix deadlock with `_PyType_Lookup` and the GIL (#119527)
The deadlock only affected the free-threaded build and only occurred when the GIL was enabled at runtime. The `Py_DECREF(old_name)` call might temporarily release the GIL while holding the type seqlock. Another thread may spin trying to acquire the seqlock while holding the GIL. The deadlock occurred roughly 1 in ~1,000 runs of `pool_in_threads.py` from `test_multiprocessing_pool_circular_import`.
Diffstat (limited to 'Python/instruction_sequence.c')
0 files changed, 0 insertions, 0 deletions