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.
This commit is contained in:
Victor Stinner 2020-04-29 02:29:20 +02:00 committed by GitHub
parent cc0dc7e484
commit ae00a5a885
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 71 additions and 86 deletions

View file

@ -35,7 +35,6 @@ EXPORTS
PyBytes_Size=python39.PyBytes_Size
PyBytes_Type=python39.PyBytes_Type DATA
PyCFunction_Call=python39.PyCFunction_Call
PyCFunction_ClearFreeList=python39.PyCFunction_ClearFreeList
PyCFunction_GetFlags=python39.PyCFunction_GetFlags
PyCFunction_GetFunction=python39.PyCFunction_GetFunction
PyCFunction_GetSelf=python39.PyCFunction_GetSelf
@ -584,7 +583,6 @@ EXPORTS
PyTraceBack_Print=python39.PyTraceBack_Print
PyTraceBack_Type=python39.PyTraceBack_Type DATA
PyTupleIter_Type=python39.PyTupleIter_Type DATA
PyTuple_ClearFreeList=python39.PyTuple_ClearFreeList
PyTuple_GetItem=python39.PyTuple_GetItem
PyTuple_GetSlice=python39.PyTuple_GetSlice
PyTuple_New=python39.PyTuple_New