mirror of
				https://github.com/python/cpython.git
				synced 2025-11-01 06:01:29 +00:00 
			
		
		
		
	bpo-43268: _Py_IsMainInterpreter() now expects interp (GH-24577)
The _Py_IsMainInterpreter() function now expects interp rather than tstate.
This commit is contained in:
		
							parent
							
								
									62078101ea
								
							
						
					
					
						commit
						101bf69ff1
					
				
					 9 changed files with 15 additions and 15 deletions
				
			
		|  | @ -22,11 +22,11 @@ _Py_IsMainThread(void) | |||
| 
 | ||||
| 
 | ||||
| static inline int | ||||
| _Py_IsMainInterpreter(PyThreadState* tstate) | ||||
| _Py_IsMainInterpreter(PyInterpreterState *interp) | ||||
| { | ||||
|     /* Use directly _PyRuntime rather than tstate->interp->runtime, since
 | ||||
|        this function is used in performance critical code path (ceval) */ | ||||
|     return (tstate->interp == _PyRuntime.interpreters.main); | ||||
|     return (interp == _PyRuntime.interpreters.main); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -5719,7 +5719,7 @@ _PyLong_Init(PyThreadState *tstate) | |||
|         tstate->interp->small_ints[i] = v; | ||||
|     } | ||||
| 
 | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         /* initialize int_info */ | ||||
|         if (Int_InfoType.tp_name == NULL) { | ||||
|             if (PyStructSequence_InitType2(&Int_InfoType, &int_info_desc) < 0) { | ||||
|  |  | |||
|  | @ -286,7 +286,7 @@ void | |||
| _PyType_Fini(PyThreadState *tstate) | ||||
| { | ||||
|     _PyType_ClearCache(&tstate->interp->type_cache); | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         clear_slotdefs(); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -15701,7 +15701,7 @@ _PyUnicode_Init(PyThreadState *tstate) | |||
|         return _PyStatus_NO_MEMORY(); | ||||
|     } | ||||
| 
 | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         /* initialize the linebreak bloom filter */ | ||||
|         bloom_linebreak = make_bloom_mask( | ||||
|             PyUnicode_2BYTE_KIND, linebreak, | ||||
|  |  | |||
|  | @ -298,7 +298,7 @@ PyStatus | |||
| _PyEval_InitGIL(PyThreadState *tstate) | ||||
| { | ||||
| #ifndef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS | ||||
|     if (!_Py_IsMainInterpreter(tstate)) { | ||||
|     if (!_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         /* Currently, the GIL is shared by all interpreters,
 | ||||
|            and only the main interpreter is responsible to create | ||||
|            and destroy it. */ | ||||
|  | @ -326,7 +326,7 @@ void | |||
| _PyEval_FiniGIL(PyThreadState *tstate) | ||||
| { | ||||
| #ifndef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS | ||||
|     if (!_Py_IsMainInterpreter(tstate)) { | ||||
|     if (!_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         /* Currently, the GIL is shared by all interpreters,
 | ||||
|            and only the main interpreter is responsible to create | ||||
|            and destroy it. */ | ||||
|  |  | |||
|  | @ -1302,7 +1302,7 @@ _PyContext_ClearFreeList(PyThreadState *tstate) | |||
| void | ||||
| _PyContext_Fini(PyThreadState *tstate) | ||||
| { | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         Py_CLEAR(_token_missing); | ||||
|     } | ||||
|     _PyContext_ClearFreeList(tstate); | ||||
|  |  | |||
|  | @ -441,7 +441,7 @@ _PyImport_FixupExtensionObject(PyObject *mod, PyObject *name, | |||
|         return -1; | ||||
|     } | ||||
| 
 | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         if (def->m_size == -1) { | ||||
|             if (def->m_base.m_copy) { | ||||
|                 /* Somebody already imported the module,
 | ||||
|  |  | |||
|  | @ -430,7 +430,7 @@ interpreter_update_config(PyThreadState *tstate, int only_update_path_config) | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         PyStatus status = _PyConfig_WritePathConfig(config); | ||||
|         if (_PyStatus_EXCEPTION(status)) { | ||||
|             _PyErr_SetFromPyStatus(status); | ||||
|  | @ -627,7 +627,7 @@ static PyStatus | |||
| pycore_init_types(PyThreadState *tstate) | ||||
| { | ||||
|     PyStatus status; | ||||
|     int is_main_interp = _Py_IsMainInterpreter(tstate); | ||||
|     int is_main_interp = _Py_IsMainInterpreter(tstate->interp); | ||||
| 
 | ||||
|     status = _PyGC_Init(tstate); | ||||
|     if (_PyStatus_EXCEPTION(status)) { | ||||
|  | @ -1003,7 +1003,7 @@ init_interp_main(PyThreadState *tstate) | |||
|     assert(!_PyErr_Occurred(tstate)); | ||||
| 
 | ||||
|     PyStatus status; | ||||
|     int is_main_interp = _Py_IsMainInterpreter(tstate); | ||||
|     int is_main_interp = _Py_IsMainInterpreter(tstate->interp); | ||||
|     PyInterpreterState *interp = tstate->interp; | ||||
|     const PyConfig *config = _PyInterpreterState_GetConfig(interp); | ||||
| 
 | ||||
|  | @ -1597,7 +1597,7 @@ finalize_interp_types(PyThreadState *tstate) | |||
| static void | ||||
| finalize_interp_clear(PyThreadState *tstate) | ||||
| { | ||||
|     int is_main_interp = _Py_IsMainInterpreter(tstate); | ||||
|     int is_main_interp = _Py_IsMainInterpreter(tstate->interp); | ||||
| 
 | ||||
|     /* Clear interpreter state and all thread states */ | ||||
|     _PyInterpreterState_Clear(tstate); | ||||
|  | @ -1622,7 +1622,7 @@ finalize_interp_clear(PyThreadState *tstate) | |||
| static void | ||||
| finalize_interp_delete(PyThreadState *tstate) | ||||
| { | ||||
|     if (_Py_IsMainInterpreter(tstate)) { | ||||
|     if (_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         /* Cleanup auto-thread-state */ | ||||
|         _PyGILState_Fini(tstate); | ||||
|     } | ||||
|  |  | |||
|  | @ -1327,7 +1327,7 @@ PyThreadState_IsCurrent(PyThreadState *tstate) | |||
| PyStatus | ||||
| _PyGILState_Init(PyThreadState *tstate) | ||||
| { | ||||
|     if (!_Py_IsMainInterpreter(tstate)) { | ||||
|     if (!_Py_IsMainInterpreter(tstate->interp)) { | ||||
|         /* Currently, PyGILState is shared by all interpreters. The main
 | ||||
|          * interpreter is responsible to initialize it. */ | ||||
|         return _PyStatus_OK(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner