summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2022-11-14 20:50:56 (GMT)
committerGitHub <noreply@github.com>2022-11-14 20:50:56 (GMT)
commita088290f9d53a6bd078de6ee67b2fa296fc1cc14 (patch)
treecd464c7ed31b1fd4ea145eaa8cb073a7fac70985 /Python
parent619cadcda6a8ba4a038c1807b6566a90e25db934 (diff)
downloadcpython-a088290f9d53a6bd078de6ee67b2fa296fc1cc14.zip
cpython-a088290f9d53a6bd078de6ee67b2fa296fc1cc14.tar.gz
cpython-a088290f9d53a6bd078de6ee67b2fa296fc1cc14.tar.bz2
gh-81057: Move Global Variables Holding Objects to _PyRuntimeState. (gh-99487)
This moves nearly all remaining object-holding globals in core code (other than static types). https://github.com/python/cpython/issues/81057
Diffstat (limited to 'Python')
-rw-r--r--Python/Python-ast.c4
-rw-r--r--Python/ast_unparse.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index b57aca3..31c38e8 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -263,6 +263,10 @@ void _PyAST_Fini(PyInterpreterState *interp)
Py_CLEAR(state->vararg);
Py_CLEAR(state->withitem_type);
+ if (_PyInterpreterState_Get() == _PyInterpreterState_Main()) {
+ Py_CLEAR(_Py_CACHED_OBJECT(str_replace_inf));
+ }
+
#if !defined(NDEBUG)
state->initialized = -1;
#else
diff --git a/Python/ast_unparse.c b/Python/ast_unparse.c
index 6565b6b..79b2e2f 100644
--- a/Python/ast_unparse.c
+++ b/Python/ast_unparse.c
@@ -13,7 +13,7 @@ _Py_DECLARE_STR(open_br, "{");
_Py_DECLARE_STR(dbl_open_br, "{{");
_Py_DECLARE_STR(close_br, "}");
_Py_DECLARE_STR(dbl_close_br, "}}");
-static PyObject *_str_replace_inf;
+#define _str_replace_inf _Py_CACHED_OBJECT(str_replace_inf)
/* Forward declarations for recursion via helper functions. */
static PyObject *