[3.13] gh-117657: Fix some simple races in instrumentation.c (GH-120118) (#120444)

gh-117657: Fix some simple races in instrumentation.c (GH-120118)

* stop the world when setting local events
(cherry picked from commit b1b61dc4ce)

Co-authored-by: Ken Jin <kenjin@python.org>
This commit is contained in:
Miss Islington (bot) 2024-06-13 12:23:19 +02:00 committed by GitHub
parent 3067c62a34
commit 17188270b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1977,7 +1977,7 @@ _PyMonitoring_SetLocalEvents(PyCodeObject *code, int tool_id, _PyMonitoringEvent
}
int res;
LOCK_CODE(code);
_PyEval_StopTheWorld(interp);
if (allocate_instrumentation_data(code)) {
res = -1;
goto done;
@ -1994,7 +1994,7 @@ _PyMonitoring_SetLocalEvents(PyCodeObject *code, int tool_id, _PyMonitoringEvent
res = force_instrument_lock_held(code, interp);
done:
UNLOCK_CODE();
_PyEval_StartTheWorld(interp);
return res;
}