tracefunc (or profilefunc -- we're not sure which), zap the global
trace and profile funcs so that we can't get into recursive loop when
instantiating the resulting class based exception.
Py_XDECREF(*p_newtrace);
*p_newtrace = NULL;
}
+ /* to be extra double plus sure we don't get recursive
+ * calls inf either tracefunc or profilefunc gets an
+ * exception, zap the global variables.
+ */
+ Py_XDECREF(tstate->sys_tracefunc);
+ tstate->sys_tracefunc = NULL;
+ Py_XDECREF(tstate->sys_profilefunc);
+ tstate->sys_profilefunc = NULL;
return -1;
}
else {