SIGN IN SIGN UP

gh-139116: tracemalloc: Detach thread state when acquiring tables_lock (GH-139449)

* gh-139116: tracemalloc: Detach thread state when acquiring tables_lock

This prevents a deadlock when:

- One thread is in `_PyTraceMalloc_Stop`, with `TABLES_LOCK` held, calling
  `PyRefTracer_SetTracer` which wants to stop the world
- Another is thread in `PyTraceMalloc_Track`, just attached thread state, waiting
  for `TABLES_LOCK`

Detaching the thread state while waiting for `TABLES_LOCK` allows
`PyRefTracer_SetTracer` to stop the world.


Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
P
Petr Viktorin committed
01157e0cdff1321a065b0a00c5a97460f52af07e
Parent: b2f5ad0
Committed by GitHub <noreply@github.com> on 9/30/2025, 2:43:49 PM