mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
bpo-36710: Add runtime variable to Py_InitializeEx() (GH-12939)
Py_InitializeEx() now uses a runtime variable passed to subfunctions, rather than working directly on the global variable _PyRuntime. Add 'runtime' parameter to _PyCoreConfig_Write(), _PySys_Create(), _PySys_InitMain(), _PyGILState_Init(), emit_stderr_warning_for_legacy_locale() and other subfunctions.
This commit is contained in:
parent
8e91c246e4
commit
43125224d6
6 changed files with 104 additions and 71 deletions
|
|
@ -8,6 +8,8 @@ extern "C" {
|
|||
# error "this header requires Py_BUILD_CORE define"
|
||||
#endif
|
||||
|
||||
#include "pycore_pystate.h" /* _PyRuntimeState */
|
||||
|
||||
|
||||
/* --- _PyWstrList ------------------------------------------------ */
|
||||
|
||||
|
|
@ -108,7 +110,8 @@ PyAPI_FUNC(_PyInitError) _PyCoreConfig_SetPathConfig(
|
|||
const _PyCoreConfig *config);
|
||||
PyAPI_FUNC(_PyInitError) _PyCoreConfig_Read(_PyCoreConfig *config,
|
||||
const _PyArgv *args);
|
||||
PyAPI_FUNC(void) _PyCoreConfig_Write(const _PyCoreConfig *config);
|
||||
PyAPI_FUNC(void) _PyCoreConfig_Write(const _PyCoreConfig *config,
|
||||
_PyRuntimeState *runtime);
|
||||
|
||||
|
||||
/* --- Function used for testing ---------------------------------- */
|
||||
|
|
|
|||
|
|
@ -34,10 +34,13 @@ extern _PyInitError _PyFaulthandler_Init(int enable);
|
|||
extern int _PyTraceMalloc_Init(int enable);
|
||||
extern PyObject * _PyBuiltin_Init(void);
|
||||
extern _PyInitError _PySys_Create(
|
||||
_PyRuntimeState *runtime,
|
||||
PyInterpreterState *interp,
|
||||
PyObject **sysmod_p);
|
||||
extern _PyInitError _PySys_SetPreliminaryStderr(PyObject *sysdict);
|
||||
extern int _PySys_InitMain(PyInterpreterState *interp);
|
||||
extern int _PySys_InitMain(
|
||||
_PyRuntimeState *runtime,
|
||||
PyInterpreterState *interp);
|
||||
extern _PyInitError _PyImport_Init(PyInterpreterState *interp);
|
||||
extern _PyInitError _PyExc_Init(void);
|
||||
extern _PyInitError _PyBuiltins_AddExceptions(PyObject * bltinmod);
|
||||
|
|
@ -74,7 +77,10 @@ extern void _PyFaulthandler_Fini(void);
|
|||
extern void _PyHash_Fini(void);
|
||||
extern int _PyTraceMalloc_Fini(void);
|
||||
|
||||
extern void _PyGILState_Init(PyInterpreterState *, PyThreadState *);
|
||||
extern void _PyGILState_Init(
|
||||
_PyRuntimeState *runtime,
|
||||
PyInterpreterState *interp,
|
||||
PyThreadState *tstate);
|
||||
extern void _PyGILState_Fini(_PyRuntimeState *runtime);
|
||||
|
||||
PyAPI_FUNC(void) _PyGC_DumpShutdownStats(void);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue