[Python-checkins] bpo-32030: Fix _Py_InitializeEx_Private() (#4649)
Victor Stinner
webhook-mailer at python.org
Thu Nov 30 12:04:02 EST 2017
https://github.com/python/cpython/commit/bc8ac6b00efcb3c601224b73f64071281f434bcd
commit: bc8ac6b00efcb3c601224b73f64071281f434bcd
branch: master
author: Victor Stinner <victor.stinner at gmail.com>
committer: GitHub <noreply at github.com>
date: 2017-11-30T18:03:55+01:00
summary:
bpo-32030: Fix _Py_InitializeEx_Private() (#4649)
_Py_InitializeEx_Private() now calls
_PyMainInterpreterConfig_ReadEnv() to read environment variables
PYTHONHOME and PYTHONPATH, and set the program name.
files:
M Python/pylifecycle.c
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 01f314e4bd1..f0a49f91fb8 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -961,28 +961,35 @@ _Py_InitializeEx_Private(int install_sigs, int install_importlib)
_PyMainInterpreterConfig config = _PyMainInterpreterConfig_INIT;
_PyInitError err;
- /* TODO: Moar config options! */
core_config.ignore_environment = Py_IgnoreEnvironmentFlag;
core_config._disable_importlib = !install_importlib;
config.install_signal_handlers = install_sigs;
err = _Py_InitializeCore(&core_config);
if (_Py_INIT_FAILED(err)) {
- return err;
+ goto done;
+ }
+
+ err = _PyMainInterpreterConfig_ReadEnv(&config);
+ if (_Py_INIT_FAILED(err)) {
+ goto done;
}
- /* TODO: Print any exceptions raised by these operations */
err = _PyMainInterpreterConfig_Read(&config);
if (_Py_INIT_FAILED(err)) {
- return err;
+ goto done;
}
err = _Py_InitializeMainInterpreter(&config);
if (_Py_INIT_FAILED(err)) {
- return err;
+ goto done;
}
- return _Py_INIT_OK();
+ err = _Py_INIT_OK();
+
+done:
+ _PyMainInterpreterConfig_Clear(&config);
+ return err;
}
More information about the Python-checkins
mailing list