[Python-Dev] multiple recursion limit bugs

Skip Montanaro skip@pobox.com
2002年3月11日 11:25:08 -0600


 [... regarding sre recursion limits ...]
 >> 
 >> I recently added an example that demonstrates the problem, but I
 >> think the main issue is that the limitation needs to be better
 >> documented. We can then close most/all of these bug reports as "not
 >> a bug" or "known implementation limitation". Does this seem like the
 >> right approach?
 Jack> As long as all the stack overflow possibilities are protected with
 Jack> PyOS_CheckStack() calls. In the past that wasn't always the case,
 Jack> and this created havoc on operating systems without hardware stack
 Jack> limits.
I looked in _sre.c and saw that it does call PyOS_CheckStack, but it's
guarded by the USE_STACKCHECK macro:
 #if defined(USE_STACKCHECK)
 if (level % 10 == 0 && PyOS_CheckStack())
 return SRE_ERROR_RECURSION_LIMIT;
 #endif
That's defined in Include/pythonrun.h for a few platforms:
 #if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER)
 /* Enable stack checking under Microsoft C */
 #define USE_STACKCHECK
 #endif
Should it also be defined for MacOS versions predating MacOS X (or is this
defined elsewhere for the Mac platform)?
Skip

AltStyle によって変換されたページ (->オリジナル) /