mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	bpo-38858: Add pycore_interp_init() code to factorize code (GH-17483)
Add a new pycore_interp_init() function called by new_interpreter() and pyinit_config().
This commit is contained in:
		
							parent
							
								
									81fe5bd3d7
								
							
						
					
					
						commit
						d863ade0c7
					
				
					 1 changed files with 27 additions and 35 deletions
				
			
		|  | @ -701,6 +701,31 @@ pycore_init_import_warnings(PyThreadState *tstate, PyObject *sysmod) | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| static PyStatus | ||||
| pycore_interp_init(PyThreadState *tstate) | ||||
| { | ||||
|     PyStatus status; | ||||
| 
 | ||||
|     status = pycore_init_types(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     PyObject *sysmod; | ||||
|     status = _PySys_Create(tstate, &sysmod); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     status = pycore_init_builtins(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     return pycore_init_import_warnings(tstate, sysmod); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| static PyStatus | ||||
| pyinit_config(_PyRuntimeState *runtime, | ||||
|               PyThreadState **tstate_p, | ||||
|  | @ -721,23 +746,7 @@ pyinit_config(_PyRuntimeState *runtime, | |||
|     config = &tstate->interp->config; | ||||
|     *tstate_p = tstate; | ||||
| 
 | ||||
|     status = pycore_init_types(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     PyObject *sysmod; | ||||
|     status = _PySys_Create(tstate, &sysmod); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     status = pycore_init_builtins(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     status = pycore_init_import_warnings(tstate, sysmod); | ||||
|     status = pycore_interp_init(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
|  | @ -1549,25 +1558,8 @@ new_interpreter(PyThreadState **tstate_p) | |||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         goto error; | ||||
|     } | ||||
|     config = &interp->config; | ||||
| 
 | ||||
|     status = pycore_init_types(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         goto error; | ||||
|     } | ||||
| 
 | ||||
|     PyObject *sysmod; | ||||
|     status = _PySys_Create(tstate, &sysmod); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         return status; | ||||
|     } | ||||
| 
 | ||||
|     status = pycore_init_builtins(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         goto error; | ||||
|     } | ||||
| 
 | ||||
|     status = pycore_init_import_warnings(tstate, sysmod); | ||||
|     status = pycore_interp_init(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|         goto error; | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner