mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
bpo-46008: Make runtime-global object/type lifecycle functions and state consistent. (gh-29998)
This change is strictly renames and moving code around. It helps in the following ways: * ensures type-related init functions focus strictly on one of the three aspects (state, objects, types) * passes in PyInterpreterState * to all those functions, simplifying work on moving types/objects/state to the interpreter * consistent naming conventions help make what's going on more clear * keeping API related to a type in the corresponding header file makes it more obvious where to look for it https://bugs.python.org/issue46008
This commit is contained in:
parent
d8a464ef03
commit
c8749b5783
38 changed files with 818 additions and 361 deletions
|
|
@ -49,13 +49,6 @@ PyAPI_FUNC(int) _Py_IsLocaleCoercionTarget(const char *ctype_loc);
|
|||
|
||||
/* Various one-time initializers */
|
||||
|
||||
extern PyStatus _PyUnicode_Init(PyInterpreterState *interp);
|
||||
extern PyStatus _PyUnicode_InitTypes(void);
|
||||
extern PyStatus _PyBytes_Init(PyInterpreterState *interp);
|
||||
extern int _PyStructSequence_Init(void);
|
||||
extern void _PyLong_Init(PyInterpreterState *interp);
|
||||
extern int _PyLong_InitTypes(void);
|
||||
extern PyStatus _PyTuple_Init(PyInterpreterState *interp);
|
||||
extern PyStatus _PyFaulthandler_Init(int enable);
|
||||
extern int _PyTraceMalloc_Init(int enable);
|
||||
extern PyObject * _PyBuiltin_Init(PyInterpreterState *interp);
|
||||
|
|
@ -65,15 +58,9 @@ extern PyStatus _PySys_Create(
|
|||
extern PyStatus _PySys_ReadPreinitWarnOptions(PyWideStringList *options);
|
||||
extern PyStatus _PySys_ReadPreinitXOptions(PyConfig *config);
|
||||
extern int _PySys_UpdateConfig(PyThreadState *tstate);
|
||||
extern PyStatus _PyExc_Init(PyInterpreterState *interp);
|
||||
extern PyStatus _PyErr_InitTypes(void);
|
||||
extern PyStatus _PyBuiltins_AddExceptions(PyObject * bltinmod);
|
||||
extern void _PyFloat_Init(void);
|
||||
extern int _PyFloat_InitTypes(void);
|
||||
extern PyStatus _Py_HashRandomization_Init(const PyConfig *);
|
||||
|
||||
extern PyStatus _PyTypes_Init(void);
|
||||
extern PyStatus _PyTypes_InitSlotDefs(void);
|
||||
extern PyStatus _PyImportZip_Init(PyThreadState *tstate);
|
||||
extern PyStatus _PyGC_Init(PyInterpreterState *interp);
|
||||
extern PyStatus _PyAtExit_Init(PyInterpreterState *interp);
|
||||
|
|
@ -81,28 +68,13 @@ extern PyStatus _PyAtExit_Init(PyInterpreterState *interp);
|
|||
|
||||
/* Various internal finalizers */
|
||||
|
||||
extern void _PyFrame_Fini(PyInterpreterState *interp);
|
||||
extern void _PyDict_Fini(PyInterpreterState *interp);
|
||||
extern void _PyTuple_Fini(PyInterpreterState *interp);
|
||||
extern void _PyList_Fini(PyInterpreterState *interp);
|
||||
extern void _PyBytes_Fini(PyInterpreterState *interp);
|
||||
extern void _PyFloat_Fini(PyInterpreterState *interp);
|
||||
extern void _PySlice_Fini(PyInterpreterState *interp);
|
||||
extern void _PyAsyncGen_Fini(PyInterpreterState *interp);
|
||||
|
||||
extern int _PySignal_Init(int install_signal_handlers);
|
||||
extern void _PySignal_Fini(void);
|
||||
|
||||
extern void _PyExc_ClearExceptionGroupType(PyInterpreterState *interp);
|
||||
extern void _PyExc_Fini(PyInterpreterState *interp);
|
||||
extern void _PyImport_Fini(void);
|
||||
extern void _PyImport_Fini2(void);
|
||||
extern void _PyGC_Fini(PyInterpreterState *interp);
|
||||
extern void _PyType_Fini(PyInterpreterState *interp);
|
||||
extern void _Py_HashRandomization_Fini(void);
|
||||
extern void _PyUnicode_Fini(PyInterpreterState *interp);
|
||||
extern void _PyUnicode_ClearInterned(PyInterpreterState *interp);
|
||||
extern void _PyLong_Fini(PyInterpreterState *interp);
|
||||
extern void _PyFaulthandler_Fini(void);
|
||||
extern void _PyHash_Fini(void);
|
||||
extern void _PyTraceMalloc_Fini(void);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue