This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients The Compiler, bluetech, gvanrossum, loewis, nascheme, pitrou, serhiy.storchaka
Date 2020-10-03.22:30:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1601764201.61.0.486639063177.issue41909@roundup.psfhosted.org>
In-reply-to
Content
I don't think I remember what's so special about abstract_get_bases() to disable the recursion check. Maybe this macro is always just a micro-optimization? Then again it's hard to be sure, the behavior may depend on the platform.

Pulling in Antoine, who showed up in the  email https://mail.python.org/pipermail/python-dev/2008-August/082106.html is mentioned in a long comment in ceval.h about the recursion protection.

Possibly the Py_ALLOW_RECURSION macro is intended to ensure that some handler code for first-order recursion errors doesn't get interrupted by second-order recursion errors? There's a limit of 50 stack frames which feels a bit dodgy.
History
Date User Action Args
2020-10-03 22:30:01gvanrossumsetrecipients: + gvanrossum, loewis, nascheme, pitrou, serhiy.storchaka, The Compiler, bluetech
2020-10-03 22:30:01gvanrossumsetmessageid: <1601764201.61.0.486639063177.issue41909@roundup.psfhosted.org>
2020-10-03 22:30:01gvanrossumlinkissue41909 messages
2020-10-03 22:30:01gvanrossumcreate