From da7933ecc30e37b119756cb02b89a6ad99db22e0 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 13 Apr 2020 03:04:28 +0200 Subject: bpo-40268: Add _PyInterpreterState_GetConfig() (GH-19492) Don't access PyInterpreterState.config member directly anymore, but use new functions: * _PyInterpreterState_GetConfig() * _PyInterpreterState_SetConfig() * _Py_GetConfig() --- Python/pystate.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'Python/pystate.c') diff --git a/Python/pystate.c b/Python/pystate.c index 0539096bdc..19beaf05eb 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -790,7 +790,7 @@ _PyInterpreterState_ClearModules(PyInterpreterState *interp) void PyThreadState_Clear(PyThreadState *tstate) { - int verbose = tstate->interp->config.verbose; + int verbose = _PyInterpreterState_GetConfig(tstate->interp)->verbose; if (verbose && tstate->frame != NULL) { /* bpo-20526: After the main thread calls @@ -1808,6 +1808,30 @@ _PyInterpreterState_SetEvalFrameFunc(PyInterpreterState *interp, interp->eval_frame = eval_frame; } + +const PyConfig* +_PyInterpreterState_GetConfig(PyInterpreterState *interp) +{ + return &interp->config; +} + + +PyStatus +_PyInterpreterState_SetConfig(PyInterpreterState *interp, + const PyConfig *config) +{ + return _PyConfig_Copy(&interp->config, config); +} + + +const PyConfig* +_Py_GetConfig(void) +{ + assert(PyGILState_Check()); + PyThreadState *tstate = _PyThreadState_GET(); + return _PyInterpreterState_GetConfig(tstate->interp); +} + #ifdef __cplusplus } #endif -- cgit v1.2.1