mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	Closes #22869: Move PyOS_CheckStack back to pythonrun.c
This commit is contained in:
		
							parent
							
								
									9b59dd4781
								
							
						
					
					
						commit
						c4821d62b4
					
				
					 2 changed files with 37 additions and 38 deletions
				
			
		|  | @ -1431,44 +1431,6 @@ Py_FdIsInteractive(FILE *fp, const char *filename) | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| #if defined(USE_STACKCHECK) | ||||
| #if defined(WIN32) && defined(_MSC_VER) | ||||
| 
 | ||||
| /* Stack checking for Microsoft C */ | ||||
| 
 | ||||
| #include <malloc.h> | ||||
| #include <excpt.h> | ||||
| 
 | ||||
| /*
 | ||||
|  * Return non-zero when we run out of memory on the stack; zero otherwise. | ||||
|  */ | ||||
| int | ||||
| PyOS_CheckStack(void) | ||||
| { | ||||
|     __try { | ||||
|         /* alloca throws a stack overflow exception if there's
 | ||||
|            not enough space left on the stack */ | ||||
|         alloca(PYOS_STACK_MARGIN * sizeof(void*)); | ||||
|         return 0; | ||||
|     } __except (GetExceptionCode() == STATUS_STACK_OVERFLOW ? | ||||
|                     EXCEPTION_EXECUTE_HANDLER : | ||||
|             EXCEPTION_CONTINUE_SEARCH) { | ||||
|         int errcode = _resetstkoflw(); | ||||
|         if (errcode == 0) | ||||
|         { | ||||
|             Py_FatalError("Could not reset the stack!"); | ||||
|         } | ||||
|     } | ||||
|     return 1; | ||||
| } | ||||
| 
 | ||||
| #endif /* WIN32 && _MSC_VER */ | ||||
| 
 | ||||
| /* Alternate implementations can be added here... */ | ||||
| 
 | ||||
| #endif /* USE_STACKCHECK */ | ||||
| 
 | ||||
| 
 | ||||
| /* Wrappers around sigaction() or signal(). */ | ||||
| 
 | ||||
| PyOS_sighandler_t | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Zachary Ware
						Zachary Ware