SIGN IN SIGN UP

[3.13] gh-137400: Fix thread-safety issues when profiling all threads (gh-137518) (gh-137733)

There were a few thread-safety issues when profiling or tracing all
threads via PyEval_SetProfileAllThreads or PyEval_SetTraceAllThreads:

* The loop over thread states could crash if a thread exits concurrently
  (in both the free threading and default build)
* The modification of `c_profilefunc` and `c_tracefunc` wasn't
  thread-safe on the free threading build.
(cherry picked from commit a10152f8fd0f4b291e53d646cffe22fbeec73e1e)
S
Sam Gross committed
16d2e97cf32192d7c18e9aead437dc628611cf9d
Parent: f6186a3
Committed by GitHub <noreply@github.com> on 10/9/2025, 3:42:47 PM