bpo-34170: _PyCoreConfig_Read() leaves Py_IsolatedFlag unchanged (GH-8361)
* _PyCoreConfig_Read() no longer directly modifies Py_IsolatedFlag
and Py_NoSiteFlag global configuration flags. The function now
requires two pointers to integer, so these flags can be set later,
to avoid side effets in _PyCoreConfig_Read().
* pathconfig_global_init() now leaves Py_IsolatedFlag and
Py_NoSiteFlag unchanged.
* Fix pathconfig_global_init(): avoid computing the path
configuration twice, use _PyCoreConfig_SetPathConfig().
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 325f423..584aa55 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -928,7 +928,7 @@
config._disable_importlib = !install_importlib;
config.install_signal_handlers = install_sigs;
- err = _PyCoreConfig_Read(&config);
+ err = _PyCoreConfig_Read(&config, &Py_IsolatedFlag, &Py_NoSiteFlag);
if (_Py_INIT_FAILED(err)) {
goto done;
}