mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Patch #1454481: Make thread stack size runtime tunable.
Heavily revised, comprising revisions: 46640 - original trunk revision (backed out in r46655) 46647 - markup fix (backed out in r46655) 46692:46918 merged from branch aimacintyre-sf1454481 branch tested on buildbots (Windows buildbots had problems not related to these changes).
This commit is contained in:
		
							parent
							
								
									c6f5b3ad6c
								
							
						
					
					
						commit
						9291332de1
					
				
					 14 changed files with 349 additions and 6 deletions
				
			
		|  | @ -95,6 +95,11 @@ PyThread_init_thread(void) | |||
| 	PyThread__init_thread(); | ||||
| } | ||||
| 
 | ||||
| /* Support for runtime thread stack size tuning.
 | ||||
|    A value of 0 means using the platform's default stack size | ||||
|    or the size specified by the THREAD_STACK_SIZE macro. */ | ||||
| static size_t _pythread_stacksize = 0; | ||||
| 
 | ||||
| #ifdef SGI_THREADS | ||||
| #include "thread_sgi.h" | ||||
| #endif | ||||
|  | @ -150,6 +155,28 @@ PyThread_init_thread(void) | |||
| #endif | ||||
| */ | ||||
| 
 | ||||
| /* return the current thread stack size */ | ||||
| size_t | ||||
| PyThread_get_stacksize(void) | ||||
| { | ||||
| 	return _pythread_stacksize; | ||||
| } | ||||
| 
 | ||||
| /* Only platforms defining a THREAD_SET_STACKSIZE() macro
 | ||||
|    in thread_<platform>.h support changing the stack size. | ||||
|    Return 0 if stack size is valid, | ||||
|           -1 if stack size value is invalid, | ||||
|           -2 if setting stack size is not supported. */ | ||||
| int | ||||
| PyThread_set_stacksize(size_t size) | ||||
| { | ||||
| #if defined(THREAD_SET_STACKSIZE) | ||||
| 	return THREAD_SET_STACKSIZE(size); | ||||
| #else | ||||
| 	return -2; | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
| #ifndef Py_HAVE_NATIVE_TLS | ||||
| /* If the platform has not supplied a platform specific
 | ||||
|    TLS implementation, provide our own. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andrew MacIntyre
						Andrew MacIntyre