diff --git a/Modules/_pickle.c b/Modules/_pickle.c --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -7411,6 +7411,13 @@ } static int +pickle_free(PyObject *m) +{ + _Pickle_ClearState(_Pickle_GetState(m)); + return 0; +} + +static int pickle_traverse(PyObject *m, visitproc visit, void *arg) { PickleState *st = _Pickle_GetState(m); @@ -7440,7 +7447,7 @@ NULL, /* m_reload */ pickle_traverse, /* m_traverse */ pickle_clear, /* m_clear */ - NULL /* m_free */ + (freefunc)pickle_free /* m_free */ }; PyMODINIT_FUNC