bpo-40268: Rename _PyInterpreterState_GET_UNSAFE() (GH-19509)
Rename _PyInterpreterState_GET_UNSAFE() to _PyInterpreterState_GET() for consistency with _PyThreadState_GET() and to have a shorter name (help to fit into 80 columns). Add also "assert(tstate != NULL);" to the function.
This commit is contained in:
parent
4a3fe08353
commit
81a7be3fa2
|
@ -165,7 +165,7 @@ PyAPI_FUNC(int) PyGILState_Check(void);
|
||||||
This function doesn't check for error. Return NULL before _PyGILState_Init()
|
This function doesn't check for error. Return NULL before _PyGILState_Init()
|
||||||
is called and after _PyGILState_Fini() is called.
|
is called and after _PyGILState_Fini() is called.
|
||||||
|
|
||||||
See also _PyInterpreterState_Get() and _PyInterpreterState_GET_UNSAFE(). */
|
See also _PyInterpreterState_Get() and _PyInterpreterState_GET(). */
|
||||||
PyAPI_FUNC(PyInterpreterState *) _PyGILState_GetInterpreterStateUnsafe(void);
|
PyAPI_FUNC(PyInterpreterState *) _PyGILState_GetInterpreterStateUnsafe(void);
|
||||||
|
|
||||||
/* The implementation of sys._current_frames() Returns a dict mapping
|
/* The implementation of sys._current_frames() Returns a dict mapping
|
||||||
|
|
|
@ -78,8 +78,9 @@ static inline PyThreadState *_PyThreadState_GET(void) {
|
||||||
|
|
||||||
See also _PyInterpreterState_Get()
|
See also _PyInterpreterState_Get()
|
||||||
and _PyGILState_GetInterpreterStateUnsafe(). */
|
and _PyGILState_GetInterpreterStateUnsafe(). */
|
||||||
static inline PyInterpreterState* _PyInterpreterState_GET_UNSAFE(void) {
|
static inline PyInterpreterState* _PyInterpreterState_GET(void) {
|
||||||
PyThreadState *tstate = _PyThreadState_GET();
|
PyThreadState *tstate = _PyThreadState_GET();
|
||||||
|
assert(tstate != NULL);
|
||||||
return tstate->interp;
|
return tstate->interp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -994,7 +994,7 @@ io_check_errors(PyObject *errors)
|
||||||
{
|
{
|
||||||
assert(errors != NULL && errors != Py_None);
|
assert(errors != NULL && errors != Py_None);
|
||||||
|
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
#ifndef Py_DEBUG
|
#ifndef Py_DEBUG
|
||||||
/* In release mode, only check in development mode (-X dev) */
|
/* In release mode, only check in development mode (-X dev) */
|
||||||
if (!_PyInterpreterState_GetConfig(interp)->dev_mode) {
|
if (!_PyInterpreterState_GetConfig(interp)->dev_mode) {
|
||||||
|
|
|
@ -1091,7 +1091,7 @@ thread_PyThread_start_new_thread(PyObject *self, PyObject *fargs)
|
||||||
boot = PyMem_NEW(struct bootstate, 1);
|
boot = PyMem_NEW(struct bootstate, 1);
|
||||||
if (boot == NULL)
|
if (boot == NULL)
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
boot->interp = _PyInterpreterState_GET_UNSAFE();
|
boot->interp = _PyInterpreterState_GET();
|
||||||
boot->func = func;
|
boot->func = func;
|
||||||
boot->args = args;
|
boot->args = args;
|
||||||
boot->keyw = keyw;
|
boot->keyw = keyw;
|
||||||
|
@ -1213,7 +1213,7 @@ particular thread within a system.");
|
||||||
static PyObject *
|
static PyObject *
|
||||||
thread__count(PyObject *self, PyObject *Py_UNUSED(ignored))
|
thread__count(PyObject *self, PyObject *Py_UNUSED(ignored))
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
return PyLong_FromLong(interp->num_threads);
|
return PyLong_FromLong(interp->num_threads);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1556,7 +1556,7 @@ PyInit__thread(void)
|
||||||
PyObject *m, *d, *v;
|
PyObject *m, *d, *v;
|
||||||
double time_max;
|
double time_max;
|
||||||
double timeout_max;
|
double timeout_max;
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
|
|
||||||
/* Initialize types: */
|
/* Initialize types: */
|
||||||
if (PyType_Ready(&localdummytype) < 0)
|
if (PyType_Ready(&localdummytype) < 0)
|
||||||
|
|
|
@ -498,7 +498,7 @@ pymain_repl(PyConfig *config, PyCompilerFlags *cf, int *exitcode)
|
||||||
static void
|
static void
|
||||||
pymain_run_python(int *exitcode)
|
pymain_run_python(int *exitcode)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
/* pymain_run_stdin() modify the config */
|
/* pymain_run_stdin() modify the config */
|
||||||
PyConfig *config = (PyConfig*)_PyInterpreterState_GetConfig(interp);
|
PyConfig *config = (PyConfig*)_PyInterpreterState_GetConfig(interp);
|
||||||
|
|
||||||
|
|
|
@ -451,7 +451,7 @@ run_at_forkers(PyObject *lst, int reverse)
|
||||||
void
|
void
|
||||||
PyOS_BeforeFork(void)
|
PyOS_BeforeFork(void)
|
||||||
{
|
{
|
||||||
run_at_forkers(_PyInterpreterState_GET_UNSAFE()->before_forkers, 1);
|
run_at_forkers(_PyInterpreterState_GET()->before_forkers, 1);
|
||||||
|
|
||||||
_PyImport_AcquireLock();
|
_PyImport_AcquireLock();
|
||||||
}
|
}
|
||||||
|
@ -462,7 +462,7 @@ PyOS_AfterFork_Parent(void)
|
||||||
if (_PyImport_ReleaseLock() <= 0)
|
if (_PyImport_ReleaseLock() <= 0)
|
||||||
Py_FatalError("failed releasing import lock after fork");
|
Py_FatalError("failed releasing import lock after fork");
|
||||||
|
|
||||||
run_at_forkers(_PyInterpreterState_GET_UNSAFE()->after_forkers_parent, 0);
|
run_at_forkers(_PyInterpreterState_GET()->after_forkers_parent, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -476,7 +476,7 @@ PyOS_AfterFork_Child(void)
|
||||||
_PyRuntimeState_ReInitThreads(runtime);
|
_PyRuntimeState_ReInitThreads(runtime);
|
||||||
_PyInterpreterState_DeleteExceptMain(runtime);
|
_PyInterpreterState_DeleteExceptMain(runtime);
|
||||||
|
|
||||||
run_at_forkers(_PyInterpreterState_GET_UNSAFE()->after_forkers_child, 0);
|
run_at_forkers(_PyInterpreterState_GET()->after_forkers_child, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -6185,7 +6185,7 @@ os_register_at_fork_impl(PyObject *module, PyObject *before,
|
||||||
check_null_or_callable(after_in_parent, "after_in_parent")) {
|
check_null_or_callable(after_in_parent, "after_in_parent")) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
interp = _PyInterpreterState_GET_UNSAFE();
|
interp = _PyInterpreterState_GET();
|
||||||
|
|
||||||
if (register_at_forker(&interp->before_forkers, before)) {
|
if (register_at_forker(&interp->before_forkers, before)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -6216,7 +6216,7 @@ os_fork1_impl(PyObject *module)
|
||||||
{
|
{
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
if (_PyInterpreterState_GET_UNSAFE() != PyInterpreterState_Main()) {
|
if (_PyInterpreterState_GET() != PyInterpreterState_Main()) {
|
||||||
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
|
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -6251,7 +6251,7 @@ os_fork_impl(PyObject *module)
|
||||||
{
|
{
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
if (_PyInterpreterState_GET_UNSAFE() != PyInterpreterState_Main()) {
|
if (_PyInterpreterState_GET() != PyInterpreterState_Main()) {
|
||||||
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
|
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -6859,7 +6859,7 @@ os_forkpty_impl(PyObject *module)
|
||||||
int master_fd = -1;
|
int master_fd = -1;
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
if (_PyInterpreterState_GET_UNSAFE() != PyInterpreterState_Main()) {
|
if (_PyInterpreterState_GET() != PyInterpreterState_Main()) {
|
||||||
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
|
PyErr_SetString(PyExc_RuntimeError, "fork not supported for subinterpreters");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1784,7 +1784,7 @@ PyOS_FiniInterrupts(void)
|
||||||
int
|
int
|
||||||
PyOS_InterruptOccurred(void)
|
PyOS_InterruptOccurred(void)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (!_Py_ThreadCanHandleSignals(interp)) {
|
if (!_Py_ThreadCanHandleSignals(interp)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1821,7 +1821,7 @@ _PySignal_AfterFork(void)
|
||||||
int
|
int
|
||||||
_PyOS_IsMainThread(void)
|
_PyOS_IsMainThread(void)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
return _Py_ThreadCanHandleSignals(interp);
|
return _Py_ThreadCanHandleSignals(interp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "structmember.h"
|
#include "structmember.h"
|
||||||
#include "pycore_code.h"
|
#include "pycore_code.h"
|
||||||
#include "pycore_interp.h" // PyInterpreterState.co_extra_freefuncs
|
#include "pycore_interp.h" // PyInterpreterState.co_extra_freefuncs
|
||||||
#include "pycore_pystate.h" // _PyInterpreterState_GET_UNSAFE()
|
#include "pycore_pystate.h" // _PyInterpreterState_GET()
|
||||||
#include "pycore_tupleobject.h"
|
#include "pycore_tupleobject.h"
|
||||||
#include "clinic/codeobject.c.h"
|
#include "clinic/codeobject.c.h"
|
||||||
|
|
||||||
|
@ -555,7 +555,7 @@ code_dealloc(PyCodeObject *co)
|
||||||
co->co_opcache_size = 0;
|
co->co_opcache_size = 0;
|
||||||
|
|
||||||
if (co->co_extra != NULL) {
|
if (co->co_extra != NULL) {
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
_PyCodeObjectExtra *co_extra = co->co_extra;
|
_PyCodeObjectExtra *co_extra = co->co_extra;
|
||||||
|
|
||||||
for (Py_ssize_t i = 0; i < co_extra->ce_size; i++) {
|
for (Py_ssize_t i = 0; i < co_extra->ce_size; i++) {
|
||||||
|
@ -1074,7 +1074,7 @@ _PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra)
|
||||||
int
|
int
|
||||||
_PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra)
|
_PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
|
|
||||||
if (!PyCode_Check(code) || index < 0 ||
|
if (!PyCode_Check(code) || index < 0 ||
|
||||||
index >= interp->co_extra_user_count) {
|
index >= interp->co_extra_user_count) {
|
||||||
|
|
|
@ -165,7 +165,7 @@ _add_methods_to_object(PyObject *module, PyObject *name, PyMethodDef *functions)
|
||||||
PyObject *
|
PyObject *
|
||||||
PyModule_Create2(struct PyModuleDef* module, int module_api_version)
|
PyModule_Create2(struct PyModuleDef* module, int module_api_version)
|
||||||
{
|
{
|
||||||
if (!_PyImport_IsInitialized(_PyInterpreterState_GET_UNSAFE())) {
|
if (!_PyImport_IsInitialized(_PyInterpreterState_GET())) {
|
||||||
PyErr_SetString(PyExc_SystemError,
|
PyErr_SetString(PyExc_SystemError,
|
||||||
"Python import machinery not initialized");
|
"Python import machinery not initialized");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -684,7 +684,7 @@ module_dealloc(PyModuleObject *m)
|
||||||
static PyObject *
|
static PyObject *
|
||||||
module_repr(PyModuleObject *m)
|
module_repr(PyModuleObject *m)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
|
|
||||||
return PyObject_CallMethod(interp->importlib, "_module_repr", "O", m);
|
return PyObject_CallMethod(interp->importlib, "_module_repr", "O", m);
|
||||||
}
|
}
|
||||||
|
|
|
@ -436,7 +436,7 @@ unicode_check_encoding_errors(const char *encoding, const char *errors)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
#ifndef Py_DEBUG
|
#ifndef Py_DEBUG
|
||||||
/* In release mode, only check in development mode (-X dev) */
|
/* In release mode, only check in development mode (-X dev) */
|
||||||
if (!_PyInterpreterState_GetConfig(interp)->dev_mode) {
|
if (!_PyInterpreterState_GetConfig(interp)->dev_mode) {
|
||||||
|
@ -3615,7 +3615,7 @@ PyUnicode_EncodeLocale(PyObject *unicode, const char *errors)
|
||||||
PyObject *
|
PyObject *
|
||||||
PyUnicode_EncodeFSDefault(PyObject *unicode)
|
PyUnicode_EncodeFSDefault(PyObject *unicode)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->fs_codec.utf8) {
|
if (interp->fs_codec.utf8) {
|
||||||
return unicode_encode_utf8(unicode,
|
return unicode_encode_utf8(unicode,
|
||||||
interp->fs_codec.error_handler,
|
interp->fs_codec.error_handler,
|
||||||
|
@ -3851,7 +3851,7 @@ PyUnicode_DecodeFSDefault(const char *s) {
|
||||||
PyObject*
|
PyObject*
|
||||||
PyUnicode_DecodeFSDefaultAndSize(const char *s, Py_ssize_t size)
|
PyUnicode_DecodeFSDefaultAndSize(const char *s, Py_ssize_t size)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->fs_codec.utf8) {
|
if (interp->fs_codec.utf8) {
|
||||||
return unicode_decode_utf8(s, size,
|
return unicode_decode_utf8(s, size,
|
||||||
interp->fs_codec.error_handler,
|
interp->fs_codec.error_handler,
|
||||||
|
@ -16009,7 +16009,7 @@ _PyUnicode_FiniEncodings(PyThreadState *tstate)
|
||||||
int
|
int
|
||||||
_PyUnicode_EnableLegacyWindowsFSEncoding(void)
|
_PyUnicode_EnableLegacyWindowsFSEncoding(void)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
PyConfig *config = (PyConfig *)_PyInterpreterState_GetConfig(interp);
|
PyConfig *config = (PyConfig *)_PyInterpreterState_GetConfig(interp);
|
||||||
|
|
||||||
/* Set the filesystem encoding to mbcs/replace (PEP 529) */
|
/* Set the filesystem encoding to mbcs/replace (PEP 529) */
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
#include "pycore_interp.h" // PyInterpreterState.parser
|
#include "pycore_interp.h" // PyInterpreterState.parser
|
||||||
#include "pycore_pystate.h" // _PyInterpreterState_GET_UNSAFE
|
#include "pycore_pystate.h" // _PyInterpreterState_GET
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
#include "node.h"
|
#include "node.h"
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ PyNode_ListTree(node *n)
|
||||||
static void
|
static void
|
||||||
listnode(FILE *fp, node *n)
|
listnode(FILE *fp, node *n)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
|
|
||||||
interp->parser.listnode.level = 0;
|
interp->parser.listnode.level = 0;
|
||||||
interp->parser.listnode.atbol = 1;
|
interp->parser.listnode.atbol = 1;
|
||||||
|
@ -40,7 +40,7 @@ list1node(FILE *fp, node *n)
|
||||||
list1node(fp, CHILD(n, i));
|
list1node(fp, CHILD(n, i));
|
||||||
}
|
}
|
||||||
else if (ISTERMINAL(TYPE(n))) {
|
else if (ISTERMINAL(TYPE(n))) {
|
||||||
interp = _PyInterpreterState_GET_UNSAFE();
|
interp = _PyInterpreterState_GET();
|
||||||
switch (TYPE(n)) {
|
switch (TYPE(n)) {
|
||||||
case INDENT:
|
case INDENT:
|
||||||
interp->parser.listnode.level++;
|
interp->parser.listnode.level++;
|
||||||
|
|
|
@ -212,7 +212,7 @@ get_warnings_attr(_Py_Identifier *attr_id, int try_import)
|
||||||
gone, then we can't even use PyImport_GetModule without triggering
|
gone, then we can't even use PyImport_GetModule without triggering
|
||||||
an interpreter abort.
|
an interpreter abort.
|
||||||
*/
|
*/
|
||||||
if (!_PyInterpreterState_GET_UNSAFE()->modules) {
|
if (!_PyInterpreterState_GET()->modules) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
warnings_module = PyImport_GetModule(warnings_str);
|
warnings_module = PyImport_GetModule(warnings_str);
|
||||||
|
@ -840,7 +840,7 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f == NULL) {
|
if (f == NULL) {
|
||||||
globals = _PyInterpreterState_GET_UNSAFE()->sysdict;
|
globals = _PyInterpreterState_GET()->sysdict;
|
||||||
*filename = PyUnicode_FromString("sys");
|
*filename = PyUnicode_FromString("sys");
|
||||||
*lineno = 1;
|
*lineno = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5562,7 +5562,7 @@ _Py_GetDXProfile(PyObject *self, PyObject *args)
|
||||||
Py_ssize_t
|
Py_ssize_t
|
||||||
_PyEval_RequestCodeExtraIndex(freefunc free)
|
_PyEval_RequestCodeExtraIndex(freefunc free)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
Py_ssize_t new_index;
|
Py_ssize_t new_index;
|
||||||
|
|
||||||
if (interp->co_extra_user_count == MAX_CO_EXTRA_USERS - 1) {
|
if (interp->co_extra_user_count == MAX_CO_EXTRA_USERS - 1) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ static int _PyCodecRegistry_Init(void); /* Forward */
|
||||||
|
|
||||||
int PyCodec_Register(PyObject *search_function)
|
int PyCodec_Register(PyObject *search_function)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
|
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
|
||||||
goto onError;
|
goto onError;
|
||||||
if (search_function == NULL) {
|
if (search_function == NULL) {
|
||||||
|
@ -105,7 +105,7 @@ PyObject *_PyCodec_Lookup(const char *encoding)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init()) {
|
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -188,7 +188,7 @@ int _PyCodec_Forget(const char *encoding)
|
||||||
PyObject *v;
|
PyObject *v;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->codec_search_path == NULL) {
|
if (interp->codec_search_path == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -621,7 +621,7 @@ PyObject *_PyCodec_DecodeText(PyObject *object,
|
||||||
Return 0 on success, -1 on error */
|
Return 0 on success, -1 on error */
|
||||||
int PyCodec_RegisterError(const char *name, PyObject *error)
|
int PyCodec_RegisterError(const char *name, PyObject *error)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
|
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
|
||||||
return -1;
|
return -1;
|
||||||
if (!PyCallable_Check(error)) {
|
if (!PyCallable_Check(error)) {
|
||||||
|
@ -639,7 +639,7 @@ PyObject *PyCodec_LookupError(const char *name)
|
||||||
{
|
{
|
||||||
PyObject *handler = NULL;
|
PyObject *handler = NULL;
|
||||||
|
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
|
if (interp->codec_search_path == NULL && _PyCodecRegistry_Init())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -1491,7 +1491,7 @@ static int _PyCodecRegistry_Init(void)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
PyObject *mod;
|
PyObject *mod;
|
||||||
|
|
||||||
if (interp->codec_search_path != NULL)
|
if (interp->codec_search_path != NULL)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
#include "pycore_interp.h" // _PyInterpreterState.dlopenflags
|
#include "pycore_interp.h" // _PyInterpreterState.dlopenflags
|
||||||
#include "pycore_pystate.h" // _PyInterpreterState_GET_UNSAFE()
|
#include "pycore_pystate.h" // _PyInterpreterState_GET()
|
||||||
#include "importdl.h"
|
#include "importdl.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -95,7 +95,7 @@ _PyImport_FindSharedFuncptr(const char *prefix,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dlopenflags = _PyInterpreterState_GET_UNSAFE()->dlopenflags;
|
dlopenflags = _PyInterpreterState_GET()->dlopenflags;
|
||||||
|
|
||||||
handle = dlopen(pathname, dlopenflags);
|
handle = dlopen(pathname, dlopenflags);
|
||||||
|
|
||||||
|
|
|
@ -310,7 +310,7 @@ _PyImport_Fini2(void)
|
||||||
PyObject *
|
PyObject *
|
||||||
PyImport_GetModuleDict(void)
|
PyImport_GetModuleDict(void)
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
if (interp->modules == NULL) {
|
if (interp->modules == NULL) {
|
||||||
Py_FatalError("interpreter has no modules dictionary");
|
Py_FatalError("interpreter has no modules dictionary");
|
||||||
}
|
}
|
||||||
|
@ -644,7 +644,7 @@ long
|
||||||
PyImport_GetMagicNumber(void)
|
PyImport_GetMagicNumber(void)
|
||||||
{
|
{
|
||||||
long res;
|
long res;
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
PyObject *external, *pyc_magic;
|
PyObject *external, *pyc_magic;
|
||||||
|
|
||||||
external = PyObject_GetAttrString(interp->importlib, "_bootstrap_external");
|
external = PyObject_GetAttrString(interp->importlib, "_bootstrap_external");
|
||||||
|
@ -980,7 +980,7 @@ PyImport_ExecCodeModuleWithPathnames(const char *name, PyObject *co,
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
else if (cpathobj != NULL) {
|
else if (cpathobj != NULL) {
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
_Py_IDENTIFIER(_get_sourcefile);
|
_Py_IDENTIFIER(_get_sourcefile);
|
||||||
|
|
||||||
if (interp == NULL) {
|
if (interp == NULL) {
|
||||||
|
|
|
@ -2355,7 +2355,7 @@ Py_ExitStatusException(PyStatus status)
|
||||||
/* For the atexit module. */
|
/* For the atexit module. */
|
||||||
void _Py_PyAtExit(void (*func)(PyObject *), PyObject *module)
|
void _Py_PyAtExit(void (*func)(PyObject *), PyObject *module)
|
||||||
{
|
{
|
||||||
PyInterpreterState *is = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *is = _PyInterpreterState_GET();
|
||||||
|
|
||||||
/* Guard against API misuse (see bpo-17852) */
|
/* Guard against API misuse (see bpo-17852) */
|
||||||
assert(is->pyexitfunc == NULL || is->pyexitfunc == func);
|
assert(is->pyexitfunc == NULL || is->pyexitfunc == func);
|
||||||
|
|
|
@ -661,7 +661,7 @@ PyObject*
|
||||||
PyState_FindModule(struct PyModuleDef* module)
|
PyState_FindModule(struct PyModuleDef* module)
|
||||||
{
|
{
|
||||||
Py_ssize_t index = module->m_base.m_index;
|
Py_ssize_t index = module->m_base.m_index;
|
||||||
PyInterpreterState *state = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *state = _PyInterpreterState_GET();
|
||||||
PyObject *res;
|
PyObject *res;
|
||||||
if (module->m_slots) {
|
if (module->m_slots) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -347,7 +347,7 @@ set_main_loader(PyObject *d, const char *filename, const char *loader_name)
|
||||||
filename_obj = PyUnicode_DecodeFSDefault(filename);
|
filename_obj = PyUnicode_DecodeFSDefault(filename);
|
||||||
if (filename_obj == NULL)
|
if (filename_obj == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
bootstrap = PyObject_GetAttrString(interp->importlib,
|
bootstrap = PyObject_GetAttrString(interp->importlib,
|
||||||
"_bootstrap_external");
|
"_bootstrap_external");
|
||||||
if (bootstrap != NULL) {
|
if (bootstrap != NULL) {
|
||||||
|
|
|
@ -847,7 +847,7 @@ static PyObject *
|
||||||
sys_getfilesystemencoding_impl(PyObject *module)
|
sys_getfilesystemencoding_impl(PyObject *module)
|
||||||
/*[clinic end generated code: output=1dc4bdbe9be44aa7 input=8475f8649b8c7d8c]*/
|
/*[clinic end generated code: output=1dc4bdbe9be44aa7 input=8475f8649b8c7d8c]*/
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
const PyConfig *config = _PyInterpreterState_GetConfig(interp);
|
const PyConfig *config = _PyInterpreterState_GetConfig(interp);
|
||||||
return PyUnicode_FromWideChar(config->filesystem_encoding, -1);
|
return PyUnicode_FromWideChar(config->filesystem_encoding, -1);
|
||||||
}
|
}
|
||||||
|
@ -862,7 +862,7 @@ static PyObject *
|
||||||
sys_getfilesystemencodeerrors_impl(PyObject *module)
|
sys_getfilesystemencodeerrors_impl(PyObject *module)
|
||||||
/*[clinic end generated code: output=ba77b36bbf7c96f5 input=22a1e8365566f1e5]*/
|
/*[clinic end generated code: output=ba77b36bbf7c96f5 input=22a1e8365566f1e5]*/
|
||||||
{
|
{
|
||||||
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
|
PyInterpreterState *interp = _PyInterpreterState_GET();
|
||||||
const PyConfig *config = _PyInterpreterState_GetConfig(interp);
|
const PyConfig *config = _PyInterpreterState_GetConfig(interp);
|
||||||
return PyUnicode_FromWideChar(config->filesystem_errors, -1);
|
return PyUnicode_FromWideChar(config->filesystem_errors, -1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@ PyThread_init_thread(void)
|
||||||
size_t
|
size_t
|
||||||
PyThread_get_stacksize(void)
|
PyThread_get_stacksize(void)
|
||||||
{
|
{
|
||||||
return _PyInterpreterState_GET_UNSAFE()->pythread_stacksize;
|
return _PyInterpreterState_GET()->pythread_stacksize;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Only platforms defining a THREAD_SET_STACKSIZE() macro
|
/* Only platforms defining a THREAD_SET_STACKSIZE() macro
|
||||||
|
|
|
@ -359,13 +359,13 @@ _pythread_nt_set_stacksize(size_t size)
|
||||||
{
|
{
|
||||||
/* set to default */
|
/* set to default */
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
_PyInterpreterState_GET_UNSAFE()->pythread_stacksize = 0;
|
_PyInterpreterState_GET()->pythread_stacksize = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* valid range? */
|
/* valid range? */
|
||||||
if (size >= THREAD_MIN_STACKSIZE && size < THREAD_MAX_STACKSIZE) {
|
if (size >= THREAD_MIN_STACKSIZE && size < THREAD_MAX_STACKSIZE) {
|
||||||
_PyInterpreterState_GET_UNSAFE()->pythread_stacksize = size;
|
_PyInterpreterState_GET()->pythread_stacksize = size;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -735,7 +735,7 @@ _pythread_pthread_set_stacksize(size_t size)
|
||||||
|
|
||||||
/* set to default */
|
/* set to default */
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
_PyInterpreterState_GET_UNSAFE()->pythread_stacksize = 0;
|
_PyInterpreterState_GET()->pythread_stacksize = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -752,7 +752,7 @@ _pythread_pthread_set_stacksize(size_t size)
|
||||||
rc = pthread_attr_setstacksize(&attrs, size);
|
rc = pthread_attr_setstacksize(&attrs, size);
|
||||||
pthread_attr_destroy(&attrs);
|
pthread_attr_destroy(&attrs);
|
||||||
if (rc == 0) {
|
if (rc == 0) {
|
||||||
_PyInterpreterState_GET_UNSAFE()->pythread_stacksize = size;
|
_PyInterpreterState_GET()->pythread_stacksize = size;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue