mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
gh-106320: Remove private _PyInterpreterState functions (#106325)
Remove private _PyThreadState and _PyInterpreterState C API functions: move them to the internal C API (pycore_pystate.h and pycore_interp.h). Don't export most of these functions anymore, but still export functions used by tests. Remove _PyThreadState_Prealloc() and _PyThreadState_Init() from the C API, but keep it in the stable API.
This commit is contained in:
parent
feb51f3a64
commit
8571b271e7
9 changed files with 86 additions and 70 deletions
|
|
@ -123,9 +123,6 @@ static inline PyInterpreterState* _PyInterpreterState_GET(void) {
|
|||
|
||||
PyAPI_FUNC(PyThreadState *) _PyThreadState_New(PyInterpreterState *interp);
|
||||
PyAPI_FUNC(void) _PyThreadState_Bind(PyThreadState *tstate);
|
||||
// We keep this around exclusively for stable ABI compatibility.
|
||||
PyAPI_FUNC(void) _PyThreadState_Init(
|
||||
PyThreadState *tstate);
|
||||
PyAPI_FUNC(void) _PyThreadState_DeleteExcept(PyThreadState *tstate);
|
||||
|
||||
extern void _PyThreadState_InitDetached(PyThreadState *, PyInterpreterState *);
|
||||
|
|
@ -133,6 +130,18 @@ extern void _PyThreadState_ClearDetached(PyThreadState *);
|
|||
extern void _PyThreadState_BindDetached(PyThreadState *);
|
||||
extern void _PyThreadState_UnbindDetached(PyThreadState *);
|
||||
|
||||
PyAPI_FUNC(PyObject*) _PyThreadState_GetDict(PyThreadState *tstate);
|
||||
|
||||
/* The implementation of sys._current_frames() Returns a dict mapping
|
||||
thread id to that thread's current frame.
|
||||
*/
|
||||
extern PyObject* _PyThread_CurrentFrames(void);
|
||||
|
||||
/* The implementation of sys._current_exceptions() Returns a dict mapping
|
||||
thread id to that thread's current exception.
|
||||
*/
|
||||
extern PyObject* _PyThread_CurrentExceptions(void);
|
||||
|
||||
|
||||
/* Other */
|
||||
|
||||
|
|
@ -161,6 +170,10 @@ PyAPI_FUNC(int) _PyOS_InterruptOccurred(PyThreadState *tstate);
|
|||
#define HEAD_UNLOCK(runtime) \
|
||||
PyThread_release_lock((runtime)->interpreters.mutex)
|
||||
|
||||
// Get the configuration of the current interpreter.
|
||||
// The caller must hold the GIL.
|
||||
PyAPI_FUNC(const PyConfig*) _Py_GetConfig(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue