summaryrefslogtreecommitdiff
path: root/Modules/_xxsubinterpretersmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_xxsubinterpretersmodule.c')
-rw-r--r--Modules/_xxsubinterpretersmodule.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/Modules/_xxsubinterpretersmodule.c b/Modules/_xxsubinterpretersmodule.c
index e618930e09..15e80559ec 100644
--- a/Modules/_xxsubinterpretersmodule.c
+++ b/Modules/_xxsubinterpretersmodule.c
@@ -1840,14 +1840,17 @@ _is_running(PyInterpreterState *interp)
"interpreter has more than one thread");
return -1;
}
+
+ assert(!PyErr_Occurred());
PyFrameObject *frame = PyThreadState_GetFrame(tstate);
if (frame == NULL) {
- if (PyErr_Occurred() != NULL) {
- return -1;
- }
return 0;
}
- return (int)(frame->f_executing);
+
+ int executing = (int)(frame->f_executing);
+ Py_DECREF(frame);
+
+ return executing;
}
static int