mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	Issue #9670: Increase the default stack size for secondary threads on
Mac OS X and FreeBSD to reduce the chances of a crash instead of a "maximum recursion depth" RuntimeError exception. (Patch by Ronald Oussoren)
This commit is contained in:
		
							parent
							
								
									e620d10701
								
							
						
					
					
						commit
						517ac72b00
					
				
					 3 changed files with 47 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -18,6 +18,18 @@
 | 
			
		|||
#ifndef THREAD_STACK_SIZE
 | 
			
		||||
#define THREAD_STACK_SIZE       0       /* use default stack size */
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if (defined(__APPLE__) || defined(__FreeBSD__)) && defined(THREAD_STACK_SIZE) && THREAD_STACK_SIZE == 0
 | 
			
		||||
   /* The default stack size for new threads on OSX is small enough that
 | 
			
		||||
    * we'll get hard crashes instead of 'maximum recursion depth exceeded'
 | 
			
		||||
    * exceptions.
 | 
			
		||||
    *
 | 
			
		||||
    * The default stack size below is the minimal stack size where a
 | 
			
		||||
    * simple recursive function doesn't cause a hard crash.
 | 
			
		||||
    */
 | 
			
		||||
#undef  THREAD_STACK_SIZE
 | 
			
		||||
#define THREAD_STACK_SIZE       0x100000
 | 
			
		||||
#endif
 | 
			
		||||
/* for safety, ensure a viable minimum stacksize */
 | 
			
		||||
#define THREAD_STACK_MIN        0x8000  /* 32kB */
 | 
			
		||||
#else  /* !_POSIX_THREAD_ATTR_STACKSIZE */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue