mirror of
https://github.com/python/cpython.git
synced 2025-08-27 20:25:18 +00:00
gh-104109: Expose Py_NewInterpreterFromConfig() in the Public C-API (gh-104110)
We also expose PyInterpreterConfig. This is part of the PEP 684 (per-interpreter GIL) implementation. We will add docs as soon as we can. FYI, I'm adding the new config field for per-interpreter GIL in gh-99114.
This commit is contained in:
parent
de64e75616
commit
292076a9aa
6 changed files with 22 additions and 16 deletions
|
@ -546,7 +546,8 @@ pycore_init_runtime(_PyRuntimeState *runtime,
|
|||
|
||||
|
||||
static PyStatus
|
||||
init_interp_settings(PyInterpreterState *interp, const _PyInterpreterConfig *config)
|
||||
init_interp_settings(PyInterpreterState *interp,
|
||||
const PyInterpreterConfig *config)
|
||||
{
|
||||
assert(interp->feature_flags == 0);
|
||||
|
||||
|
@ -631,7 +632,7 @@ pycore_create_interpreter(_PyRuntimeState *runtime,
|
|||
return status;
|
||||
}
|
||||
|
||||
const _PyInterpreterConfig config = _PyInterpreterConfig_LEGACY_INIT;
|
||||
const PyInterpreterConfig config = _PyInterpreterConfig_LEGACY_INIT;
|
||||
status = init_interp_settings(interp, &config);
|
||||
if (_PyStatus_EXCEPTION(status)) {
|
||||
return status;
|
||||
|
@ -1991,7 +1992,7 @@ Py_Finalize(void)
|
|||
*/
|
||||
|
||||
static PyStatus
|
||||
new_interpreter(PyThreadState **tstate_p, const _PyInterpreterConfig *config)
|
||||
new_interpreter(PyThreadState **tstate_p, const PyInterpreterConfig *config)
|
||||
{
|
||||
PyStatus status;
|
||||
|
||||
|
@ -2079,8 +2080,8 @@ error:
|
|||
}
|
||||
|
||||
PyStatus
|
||||
_Py_NewInterpreterFromConfig(PyThreadState **tstate_p,
|
||||
const _PyInterpreterConfig *config)
|
||||
Py_NewInterpreterFromConfig(PyThreadState **tstate_p,
|
||||
const PyInterpreterConfig *config)
|
||||
{
|
||||
return new_interpreter(tstate_p, config);
|
||||
}
|
||||
|
@ -2089,8 +2090,8 @@ PyThreadState *
|
|||
Py_NewInterpreter(void)
|
||||
{
|
||||
PyThreadState *tstate = NULL;
|
||||
const _PyInterpreterConfig config = _PyInterpreterConfig_LEGACY_INIT;
|
||||
PyStatus status = _Py_NewInterpreterFromConfig(&tstate, &config);
|
||||
const PyInterpreterConfig config = _PyInterpreterConfig_LEGACY_INIT;
|
||||
PyStatus status = new_interpreter(&tstate, &config);
|
||||
if (_PyStatus_EXCEPTION(status)) {
|
||||
Py_ExitStatusException(status);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue