summaryrefslogtreecommitdiffstats
path: root/Objects/listobject.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-04-29 00:29:20 (GMT)
committerGitHub <noreply@github.com>2020-04-29 00:29:20 (GMT)
commitae00a5a88534fd45939f86c12e038da9fa6f9ed6 (patch)
tree43b1f4ea83241fd72d32a0ade5a17366e67d42e4 /Objects/listobject.c
parentcc0dc7e484c9626857e9a8b4c40eee37473702ed (diff)
downloadcpython-ae00a5a88534fd45939f86c12e038da9fa6f9ed6.zip
cpython-ae00a5a88534fd45939f86c12e038da9fa6f9ed6.tar.gz
cpython-ae00a5a88534fd45939f86c12e038da9fa6f9ed6.tar.bz2
bpo-40428: Remove PyTuple_ClearFreeList() function (GH-19769)
Remove the following function from the C API: * PyAsyncGen_ClearFreeLists() * PyContext_ClearFreeList() * PyDict_ClearFreeList() * PyFloat_ClearFreeList() * PyFrame_ClearFreeList() * PyList_ClearFreeList() * PySet_ClearFreeList() * PyTuple_ClearFreeList() Make these functions private, move them to the internal C API and change their return type to void. Call explicitly PyGC_Collect() to free all free lists. Note: PySet_ClearFreeList() did nothing.
Diffstat (limited to 'Objects/listobject.c')
-rw-r--r--Objects/listobject.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 7d2f006..904bea3 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -103,23 +103,20 @@ list_preallocate_exact(PyListObject *self, Py_ssize_t size)
static PyListObject *free_list[PyList_MAXFREELIST];
static int numfree = 0;
-int
-PyList_ClearFreeList(void)
+void
+_PyList_ClearFreeList(void)
{
- PyListObject *op;
- int ret = numfree;
while (numfree) {
- op = free_list[--numfree];
+ PyListObject *op = free_list[--numfree];
assert(PyList_CheckExact(op));
PyObject_GC_Del(op);
}
- return ret;
}
void
_PyList_Fini(void)
{
- PyList_ClearFreeList();
+ _PyList_ClearFreeList();
}
/* Print summary info about the state of the optimized allocator */