diff options
author | Mark Shannon <mark@hotpy.org> | 2023-08-09 08:30:50 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-09 08:30:50 (GMT) |
commit | 52fbcf61b5a70993c2d32332ff0ad9f369d968d3 (patch) | |
tree | 1b6112302fb001276acbffc7d29644b3f2611810 /Python | |
parent | 2fb484e62518d15fc9a19565c2ab096bd741219a (diff) | |
download | cpython-52fbcf61b5a70993c2d32332ff0ad9f369d968d3.zip cpython-52fbcf61b5a70993c2d32332ff0ad9f369d968d3.tar.gz cpython-52fbcf61b5a70993c2d32332ff0ad9f369d968d3.tar.bz2 |
GH-107724: Fix the signature of `PY_THROW` callback functions. (GH-107725)
Diffstat (limited to 'Python')
-rw-r--r-- | Python/ceval.c | 2 | ||||
-rw-r--r-- | Python/instrumentation.c | 10 | ||||
-rw-r--r-- | Python/legacy_tracing.c | 6 |
3 files changed, 4 insertions, 14 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 1dc4fd8..b966399 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -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 diff --git a/Python/instrumentation.c b/Python/instrumentation.c index 123c20d..65ea790 100644 --- a/Python/instrumentation.c +++ b/Python/instrumentation.c @@ -1082,16 +1082,6 @@ call_instrumentation_vector_protected( } 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, _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1) diff --git a/Python/legacy_tracing.c b/Python/legacy_tracing.c index 48db517..7774d10 100644 --- a/Python/legacy_tracing.c +++ b/Python/legacy_tracing.c @@ -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; } |