mirror of https://github.com/python/cpython
Statically initialize _PyRuntimeState fields. (gh-30588)
https://bugs.python.org/issue45953
This commit is contained in:
parent
bc02eac9d2
commit
b8ddf7e794
|
@ -17,6 +17,17 @@ extern "C" {
|
|||
|
||||
#define _PyRuntimeState_INIT \
|
||||
{ \
|
||||
.gilstate = { \
|
||||
.check_enabled = 1, \
|
||||
/* A TSS key must be initialized with Py_tss_NEEDS_INIT \
|
||||
in accordance with the specification. */ \
|
||||
.autoTSSkey = Py_tss_NEEDS_INIT, \
|
||||
}, \
|
||||
.interpreters = { \
|
||||
/* This prevents interpreters from getting created \
|
||||
until _PyInterpreterState_Enable() is called. */ \
|
||||
.next_id = -1, \
|
||||
}, \
|
||||
.global_objects = _Py_global_objects_INIT, \
|
||||
._main_interpreter = _PyInterpreterState_INIT, \
|
||||
}
|
||||
|
|
|
@ -111,17 +111,7 @@ init_runtime(_PyRuntimeState *runtime,
|
|||
|
||||
PyPreConfig_InitPythonConfig(&runtime->preconfig);
|
||||
|
||||
runtime->gilstate.check_enabled = 1;
|
||||
|
||||
/* A TSS key must be initialized with Py_tss_NEEDS_INIT
|
||||
in accordance with the specification. */
|
||||
Py_tss_t initial = Py_tss_NEEDS_INIT;
|
||||
runtime->gilstate.autoTSSkey = initial;
|
||||
|
||||
runtime->interpreters.mutex = interpreters_mutex;
|
||||
// This prevents interpreters from getting created
|
||||
// until _PyInterpreterState_Enable() is called.
|
||||
runtime->interpreters.next_id = -1;
|
||||
|
||||
runtime->xidregistry.mutex = xidregistry_mutex;
|
||||
|
||||
|
|
Loading…
Reference in New Issue