mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
bpo-36444: Add _PyCoreConfig._init_main (GH-12572)
* Add _PyCoreConfig._init_main: if equals to zero, _Py_InitializeFromConfig() doesn't call _Py_InitializeMainInterpreter(). * Add interp_p parameter to _Py_InitializeFromConfig(). * pymain_init() now calls _Py_InitializeFromConfig(). * Make _Py_InitializeCore() private.
This commit is contained in:
parent
8b9dbc017a
commit
484f20d2ff
9 changed files with 47 additions and 46 deletions
|
@ -84,8 +84,9 @@ main(int argc, char *argv[])
|
|||
/* Don't install importlib, since it could execute outdated bytecode. */
|
||||
config._install_importlib = 0;
|
||||
config._frozen = 1;
|
||||
config._init_main = 0;
|
||||
|
||||
_PyInitError err = _Py_InitializeFromConfig(&config);
|
||||
_PyInitError err = _Py_InitializeFromConfig(&config, NULL);
|
||||
/* No need to call _PyCoreConfig_Clear() since we didn't allocate any
|
||||
memory: program_name is a constant string. */
|
||||
if (_Py_INIT_FAILED(err)) {
|
||||
|
|
|
@ -529,7 +529,7 @@ static int test_init_from_config(void)
|
|||
Py_FrozenFlag = 0;
|
||||
config._frozen = 1;
|
||||
|
||||
err = _Py_InitializeFromConfig(&config);
|
||||
err = _Py_InitializeFromConfig(&config, NULL);
|
||||
/* Don't call _PyCoreConfig_Clear() since all strings are static */
|
||||
if (_Py_INIT_FAILED(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
|
@ -638,7 +638,7 @@ static int test_init_isolated(void)
|
|||
config.program_name = L"./_testembed";
|
||||
|
||||
test_init_env_dev_mode_putenvs();
|
||||
err = _Py_InitializeFromConfig(&config);
|
||||
err = _Py_InitializeFromConfig(&config, NULL);
|
||||
if (_Py_INIT_FAILED(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
}
|
||||
|
@ -669,7 +669,7 @@ static int test_preinit_isolated1(void)
|
|||
config.program_name = L"./_testembed";
|
||||
|
||||
test_init_env_dev_mode_putenvs();
|
||||
err = _Py_InitializeFromConfig(&config);
|
||||
err = _Py_InitializeFromConfig(&config, NULL);
|
||||
if (_Py_INIT_FAILED(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
}
|
||||
|
@ -706,7 +706,7 @@ static int test_preinit_isolated2(void)
|
|||
config.program_name = L"./_testembed";
|
||||
|
||||
test_init_env_dev_mode_putenvs();
|
||||
err = _Py_InitializeFromConfig(&config);
|
||||
err = _Py_InitializeFromConfig(&config, NULL);
|
||||
if (_Py_INIT_FAILED(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
}
|
||||
|
@ -723,7 +723,7 @@ static int test_init_dev_mode(void)
|
|||
putenv("PYTHONMALLOC=");
|
||||
config.dev_mode = 1;
|
||||
config.program_name = L"./_testembed";
|
||||
_PyInitError err = _Py_InitializeFromConfig(&config);
|
||||
_PyInitError err = _Py_InitializeFromConfig(&config, NULL);
|
||||
if (_Py_INIT_FAILED(err)) {
|
||||
_Py_ExitInitError(err);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue