mirror of
https://github.com/python/cpython.git
synced 2024-11-30 18:51:15 +01:00
bcb094b41f
Pass the current interpreter (interp) rather than the current Python thread state (tstate) to internal functions which only use the interpreter. Modified functions: * _PyXXX_Fini() and _PyXXX_ClearFreeList() functions * _PyEval_SignalAsyncExc(), make_pending_calls() * _PySys_GetObject(), sys_set_object(), sys_set_object_id(), sys_set_object_str() * should_audit(), set_flags_from_config(), make_flags() * _PyAtExit_Call() * init_stdio_encoding() * etc.
43 lines
822 B
C
43 lines
822 B
C
#ifndef Py_INTERNAL_CONTEXT_H
|
|
#define Py_INTERNAL_CONTEXT_H
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
#include "pycore_hamt.h" /* PyHamtObject */
|
|
|
|
struct _pycontextobject {
|
|
PyObject_HEAD
|
|
PyContext *ctx_prev;
|
|
PyHamtObject *ctx_vars;
|
|
PyObject *ctx_weakreflist;
|
|
int ctx_entered;
|
|
};
|
|
|
|
|
|
struct _pycontextvarobject {
|
|
PyObject_HEAD
|
|
PyObject *var_name;
|
|
PyObject *var_default;
|
|
PyObject *var_cached;
|
|
uint64_t var_cached_tsid;
|
|
uint64_t var_cached_tsver;
|
|
Py_hash_t var_hash;
|
|
};
|
|
|
|
|
|
struct _pycontexttokenobject {
|
|
PyObject_HEAD
|
|
PyContext *tok_ctx;
|
|
PyContextVar *tok_var;
|
|
PyObject *tok_oldval;
|
|
int tok_used;
|
|
};
|
|
|
|
|
|
int _PyContext_Init(void);
|
|
void _PyContext_Fini(PyInterpreterState *interp);
|
|
|
|
#endif /* !Py_INTERNAL_CONTEXT_H */
|