bpo-43268: _Py_IsMainInterpreter() now expects interp (GH-24577)

The _Py_IsMainInterpreter() function now expects interp rather than
tstate.
This commit is contained in:
Victor Stinner 2021-02-19 13:33:31 +01:00 committed by GitHub
parent 62078101ea
commit 101bf69ff1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 15 additions and 15 deletions

View File

@ -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);
}

View File

@ -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) {

View File

@ -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();
}
}

View File

@ -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,

View File

@ -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. */

View File

@ -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);

View File

@ -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,

View File

@ -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);
}

View File

@ -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();