From: Michael W. Hudson Date: Wed, 2 Oct 2002 13:13:45 +0000 (+0000) Subject: Fix for the recursion_level bug Armin Rigo reported in sf X-Git-Tag: v2.2.2b1~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9c5a508eec5f26552b7da9413858472eae60adaf;p=thirdparty%2FPython%2Fcpython.git Fix for the recursion_level bug Armin Rigo reported in sf patch #617312, both on the trunk and the 22-maint branch. Also added a test case, and ported the test_trace I wrote for HEAD to 2.2.2 (with all those horrible extra 'line' events ;-). --- diff --git a/Python/ceval.c b/Python/ceval.c index 57922598e263..9db5b023afdf 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -612,6 +612,8 @@ eval_frame(PyFrameObject *f) if (call_trace(tstate->c_tracefunc, tstate->c_traceobj, f, PyTrace_CALL, Py_None)) { /* Trace function raised an error */ + --tstate->recursion_depth; + tstate->frame = f->f_back; return NULL; } } @@ -622,6 +624,8 @@ eval_frame(PyFrameObject *f) tstate->c_profileobj, f, PyTrace_CALL, Py_None)) { /* Profile function raised an error */ + --tstate->recursion_depth; + tstate->frame = f->f_back; return NULL; } }