summaryrefslogtreecommitdiffstats
path: root/Modules/gcmodule.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-06-05 00:05:41 (GMT)
committerGitHub <noreply@github.com>2020-06-05 00:05:41 (GMT)
commit88ec9190105c9b03f49aaef601ce02b242a75273 (patch)
tree699bea45830306ef5cd9943138a8c03d846e33d3 /Modules/gcmodule.c
parent052d3fc0907be253cfd64b2c737a0b0aca586011 (diff)
downloadcpython-88ec9190105c9b03f49aaef601ce02b242a75273.zip
cpython-88ec9190105c9b03f49aaef601ce02b242a75273.tar.gz
cpython-88ec9190105c9b03f49aaef601ce02b242a75273.tar.bz2
bpo-40521: Make list free list per-interpreter (GH-20642)
Each interpreter now has its own list free list: * Move list numfree and free_list into PyInterpreterState. * Add _Py_list_state structure. * Add tstate parameter to _PyList_ClearFreeList() and _PyList_Fini(). * Remove "#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS". * _PyGC_Fini() clears gcstate->garbage list which can be stored in the list free list. Call _PyGC_Fini() before _PyList_Fini() to prevent leaking this list.
Diffstat (limited to 'Modules/gcmodule.c')
-rw-r--r--Modules/gcmodule.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 45dc89d..2f062d0 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -1029,7 +1029,7 @@ clear_freelists(void)
_PyFrame_ClearFreeList(tstate);
_PyTuple_ClearFreeList(tstate);
_PyFloat_ClearFreeList(tstate);
- _PyList_ClearFreeList();
+ _PyList_ClearFreeList(tstate);
_PyDict_ClearFreeList();
_PyAsyncGen_ClearFreeLists();
_PyContext_ClearFreeList();