prefer clearing global objects to obscure module.__dict__ bugs #10068

This commit is contained in:
Benjamin Peterson 2010-10-12 22:57:59 +00:00
parent 11b1f3dac1
commit 5c4bfc4af0
4 changed files with 27 additions and 5 deletions

View file

@ -335,10 +335,7 @@ module_dealloc(PyModuleObject *m)
if (m->md_def && m->md_def->m_free)
m->md_def->m_free(m);
if (m->md_dict != NULL) {
/* If we are the only ones holding a reference, we can clear
the dictionary. */
if (Py_REFCNT(m->md_dict) == 1)
_PyModule_Clear((PyObject *)m);
_PyModule_Clear((PyObject *)m);
Py_DECREF(m->md_dict);
}
if (m->md_state != NULL)