diff options
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r-- | Python/pylifecycle.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index ea89b3a626..1bc7f608a1 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -725,11 +725,15 @@ _Py_PreInitializeFromPyArgv(const PyPreConfig *src_config, const _PyArgv *args) } _PyRuntimeState *runtime = &_PyRuntime; - if (runtime->pre_initialized) { + if (runtime->preinitialized) { /* If it's already configured: ignored the new configuration */ return _PyStatus_OK(); } + /* Note: preinitialized remains 1 on error, it is only set to 0 + at exit on success. */ + runtime->preinitializing = 1; + PyPreConfig config; _PyPreConfig_InitFromPreConfig(&config, src_config); @@ -743,7 +747,8 @@ _Py_PreInitializeFromPyArgv(const PyPreConfig *src_config, const _PyArgv *args) return status; } - runtime->pre_initialized = 1; + runtime->preinitializing = 0; + runtime->preinitialized = 1; return _PyStatus_OK(); } @@ -783,7 +788,7 @@ _Py_PreInitializeFromConfig(const PyConfig *config, } _PyRuntimeState *runtime = &_PyRuntime; - if (runtime->pre_initialized) { + if (runtime->preinitialized) { /* Already initialized: do nothing */ return _PyStatus_OK(); } |