Finalize the freelist of list objects.

This commit is contained in:
Raymond Hettinger 2004-10-07 03:58:07 +00:00
parent ffa5cf9eae
commit fb09f0e85c
3 changed files with 15 additions and 0 deletions

View File

@ -113,6 +113,7 @@ PyAPI_FUNC(void) PyMethod_Fini(void);
PyAPI_FUNC(void) PyFrame_Fini(void);
PyAPI_FUNC(void) PyCFunction_Fini(void);
PyAPI_FUNC(void) PyTuple_Fini(void);
PyAPI_FUNC(void) PyList_Fini(void);
PyAPI_FUNC(void) PyString_Fini(void);
PyAPI_FUNC(void) PyInt_Fini(void);
PyAPI_FUNC(void) PyFloat_Fini(void);

View File

@ -68,6 +68,19 @@ list_resize(PyListObject *self, int newsize)
static PyListObject *free_lists[MAXFREELISTS];
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 *
PyList_New(int size)
{

View File

@ -416,6 +416,7 @@ Py_Finalize(void)
PyFrame_Fini();
PyCFunction_Fini();
PyTuple_Fini();
PyList_Fini();
PyString_Fini();
PyInt_Fini();
PyFloat_Fini();