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>
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
Prevent a deadlock when multiple threads start, stop and use :mod:`tracemalloc`
|
||||
simultaneously.
|
||||
Reference in New Issue
Block a user