mirror of
https://github.com/python/cpython.git
synced 2025-07-19 17:25:54 +00:00
Finalize the freelist of list objects.
This commit is contained in:
parent
ffa5cf9eae
commit
fb09f0e85c
3 changed files with 15 additions and 0 deletions
|
@ -113,6 +113,7 @@ PyAPI_FUNC(void) PyMethod_Fini(void);
|
||||||
PyAPI_FUNC(void) PyFrame_Fini(void);
|
PyAPI_FUNC(void) PyFrame_Fini(void);
|
||||||
PyAPI_FUNC(void) PyCFunction_Fini(void);
|
PyAPI_FUNC(void) PyCFunction_Fini(void);
|
||||||
PyAPI_FUNC(void) PyTuple_Fini(void);
|
PyAPI_FUNC(void) PyTuple_Fini(void);
|
||||||
|
PyAPI_FUNC(void) PyList_Fini(void);
|
||||||
PyAPI_FUNC(void) PyString_Fini(void);
|
PyAPI_FUNC(void) PyString_Fini(void);
|
||||||
PyAPI_FUNC(void) PyInt_Fini(void);
|
PyAPI_FUNC(void) PyInt_Fini(void);
|
||||||
PyAPI_FUNC(void) PyFloat_Fini(void);
|
PyAPI_FUNC(void) PyFloat_Fini(void);
|
||||||
|
|
|
@ -68,6 +68,19 @@ list_resize(PyListObject *self, int newsize)
|
||||||
static PyListObject *free_lists[MAXFREELISTS];
|
static PyListObject *free_lists[MAXFREELISTS];
|
||||||
static int num_free_lists = 0;
|
static int num_free_lists = 0;
|
||||||
|
|
||||||
|
void
|
||||||
|
PyList_Fini(void)
|
||||||
|
{
|
||||||
|
PyListObject *op;
|
||||||
|
|
||||||
|
while (num_free_lists) {
|
||||||
|
num_free_lists--;
|
||||||
|
op = free_lists[num_free_lists];
|
||||||
|
assert(PyList_CheckExact(op));
|
||||||
|
PyObject_GC_Del(op);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PyObject *
|
PyObject *
|
||||||
PyList_New(int size)
|
PyList_New(int size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -416,6 +416,7 @@ Py_Finalize(void)
|
||||||
PyFrame_Fini();
|
PyFrame_Fini();
|
||||||
PyCFunction_Fini();
|
PyCFunction_Fini();
|
||||||
PyTuple_Fini();
|
PyTuple_Fini();
|
||||||
|
PyList_Fini();
|
||||||
PyString_Fini();
|
PyString_Fini();
|
||||||
PyInt_Fini();
|
PyInt_Fini();
|
||||||
PyFloat_Fini();
|
PyFloat_Fini();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue