STINNER Victor <[email protected]> added the comment:
Python/ceval.c also has "int _Py_CheckRecursionLimit =
Py_DEFAULT_RECURSION_LIMIT;". _Py_CheckRecursiveCall() has this comment:
/* Needed for ABI backwards-compatibility (see bpo-31857) */
_Py_CheckRecursionLimit = recursion_limit;
I converted Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() macros into
opaque functions in bpo-38644: commit f4b1e3d7c64985f5d5b00f6cc9a1c146bbbfd613.
I don't think that the "ABI backwards-compatibility" rationale is correct.
These macros never worked in the limited C API: they accessed
PyThreadState.recursion_depth and PyThreadState.overflowed members, whereas the
PyThreadState structure is opaque in the limited C API (on purpose, see also
bpo-39947).
I think that it is now safe to simply remove _Py_CheckRecursionLimit.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue40513>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com