diff options
author | Victor Stinner <vstinner@python.org> | 2020-06-05 00:05:41 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-05 00:05:41 (GMT) |
commit | 88ec9190105c9b03f49aaef601ce02b242a75273 (patch) | |
tree | 699bea45830306ef5cd9943138a8c03d846e33d3 /Modules/gcmodule.c | |
parent | 052d3fc0907be253cfd64b2c737a0b0aca586011 (diff) | |
download | cpython-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.c | 2 |
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(); |