SIGN IN SIGN UP

[3.13] gh-124375: Avoid calling `_PyMem_ProcessDelayed` on other thread states (GH-124459) (#125540)

This fixes a crash when running the PyO3 test suite on the free-threaded
build. The `qsbr` field is initialized after the `PyThreadState` is
added to the interpreter's linked list -- it might still be NULL.

Instead, we "steal" the queue of to-be-freed memory blocks. This is
always initialized (possibly empty) and protected by the stop the world
pause.
(cherry picked from commit 54c6fcbefd33a8d8bf8c004cf1aad3be3d37b933)

Co-authored-by: Sam Gross <colesbury@gmail.com>
M
Miss Islington (bot) committed
4d83f6ddc413204943097699ef84a30356ba8cce
Parent: 6c79bae
Committed by GitHub <noreply@github.com> on 10/15/2024, 5:35:28 PM