mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 15:41:43 +00:00 
			
		
		
		
	
		
			
	
	
		
			17 lines
		
	
	
	
		
			779 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
	
	
			17 lines
		
	
	
	
		
			779 B
		
	
	
	
		
			Python
		
	
	
	
	
	
								# The following example may crash or not depending on the platform.
							 | 
						|||
								# E.g. on 32-bit Intel Linux in a "standard" configuration it seems to
							 | 
						|||
								# crash on Python 2.5 (but not 2.4 nor 2.3).  On Windows the import
							 | 
						|||
								# eventually fails to find the module, possibly because we run out of
							 | 
						|||
								# file handles.
							 | 
						|||
								
							 | 
						|||
								# The point of this example is to show that sys.setrecursionlimit() is a
							 | 
						|||
								# hack, and not a robust solution.  This example simply exercices a path
							 | 
						|||
								# where it takes many C-level recursions, consuming a lot of stack
							 | 
						|||
								# space, for each Python-level recursion.  So 1000 times this amount of
							 | 
						|||
								# stack space may be too much for standard platforms already.
							 | 
						|||
								
							 | 
						|||
								import sys
							 | 
						|||
								if 'recursion_limit_too_high' in sys.modules:
							 | 
						|||
								    del sys.modules['recursion_limit_too_high']
							 | 
						|||
								import recursion_limit_too_high
							 |