summaryrefslogtreecommitdiff
path: root/Modules/atexitmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/atexitmodule.c')
-rw-r--r--Modules/atexitmodule.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/Modules/atexitmodule.c b/Modules/atexitmodule.c
index 1ee7ead05f..f68d8047ed 100644
--- a/Modules/atexitmodule.c
+++ b/Modules/atexitmodule.c
@@ -211,6 +211,14 @@ atexit_clear(PyObject *self, PyObject *unused)
Py_RETURN_NONE;
}
+static void
+atexit_free(PyObject *m)
+{
+ atexitmodule_state *modstate;
+ modstate = GET_ATEXIT_STATE(m);
+ PyMem_Free(modstate->atexit_callbacks);
+}
+
PyDoc_STRVAR(atexit_unregister__doc__,
"unregister(func) -> None\n\
\n\
@@ -275,7 +283,7 @@ static struct PyModuleDef atexitmodule = {
NULL,
NULL,
NULL,
- NULL
+ (freefunc)atexit_free
};
PyMODINIT_FUNC