summaryrefslogtreecommitdiffstats
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-06-23 09:33:18 (GMT)
committerGitHub <noreply@github.com>2020-06-23 09:33:18 (GMT)
commitb4e85cadfbc2b1b24ec5f3159e351dbacedaa5e0 (patch)
treea121d0df89bdc965649d65a0ca50543293431e61 /Python/pylifecycle.c
parent26a1ad1c24717990265b71ed093d691500d6301c (diff)
downloadcpython-b4e85cadfbc2b1b24ec5f3159e351dbacedaa5e0.zip
cpython-b4e85cadfbc2b1b24ec5f3159e351dbacedaa5e0.tar.gz
cpython-b4e85cadfbc2b1b24ec5f3159e351dbacedaa5e0.tar.bz2
bpo-40521: Make dict free lists per-interpreter (GH-20645)
Each interpreter now has its own dict free list: * Move dict free lists into PyInterpreterState. * Move PyDict_MAXFREELIST define to pycore_interp.h * Add _Py_dict_state structure. * Add tstate parameter to _PyDict_ClearFreeList() and _PyDict_Fini(). * In debug mode, ensure that the dict free lists are not used after _PyDict_Fini() is called. * Remove "#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS".
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r--Python/pylifecycle.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 87f25e6..1b4a3db 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1258,9 +1258,7 @@ finalize_interp_types(PyThreadState *tstate, int is_main_interp)
if (is_main_interp) {
_PySet_Fini();
}
- if (is_main_interp) {
- _PyDict_Fini();
- }
+ _PyDict_Fini(tstate);
_PyList_Fini(tstate);
_PyTuple_Fini(tstate);