GH-107724: Fix the signature of PY_THROW callback functions. (GH-107725)

This commit is contained in:
Mark Shannon 2023-08-09 09:30:50 +01:00 committed by GitHub
parent 2fb484e625
commit 52fbcf61b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 39 additions and 18 deletions

View file

@ -2039,7 +2039,7 @@ monitor_throw(PyThreadState *tstate,
if (no_tools_for_event(tstate, frame, PY_MONITORING_EVENT_PY_THROW)) {
return;
}
_Py_call_instrumentation_exc0(tstate, PY_MONITORING_EVENT_PY_THROW, frame, instr);
do_monitor_exc(tstate, frame, instr, PY_MONITORING_EVENT_PY_THROW);
}
void

View file

@ -1081,16 +1081,6 @@ call_instrumentation_vector_protected(
assert(_PyErr_Occurred(tstate));
}
void
_Py_call_instrumentation_exc0(
PyThreadState *tstate, int event,
_PyInterpreterFrame *frame, _Py_CODEUNIT *instr)
{
assert(_PyErr_Occurred(tstate));
PyObject *args[3] = { NULL, NULL, NULL };
call_instrumentation_vector_protected(tstate, event, frame, instr, 2, args);
}
void
_Py_call_instrumentation_exc2(
PyThreadState *tstate, int event,

View file

@ -163,7 +163,7 @@ sys_trace_func2(
}
static PyObject *
sys_trace_unwind(
sys_trace_func3(
_PyLegacyEventHandler *self, PyObject *const *args,
size_t nargsf, PyObject *kwnames
) {
@ -445,7 +445,7 @@ _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg)
return -1;
}
if (set_callbacks(PY_MONITORING_SYS_TRACE_ID,
(vectorcallfunc)sys_trace_func2, PyTrace_CALL,
(vectorcallfunc)sys_trace_func3, PyTrace_CALL,
PY_MONITORING_EVENT_PY_THROW, -1)) {
return -1;
}
@ -470,7 +470,7 @@ _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg)
return -1;
}
if (set_callbacks(PY_MONITORING_SYS_TRACE_ID,
(vectorcallfunc)sys_trace_unwind, PyTrace_RETURN,
(vectorcallfunc)sys_trace_func3, PyTrace_RETURN,
PY_MONITORING_EVENT_PY_UNWIND, -1)) {
return -1;
}