Commit d7c38738 authored by Serhiy Storchaka's avatar Serhiy Storchaka Committed by Miss Islington (bot)

bpo-33714: Output an exception raised in module's m_clear(). (GH-16592)



It is similar to the more general code in the gc module, but
here we know the name of the module.



https://bugs.python.org/issue33714



Automerge-Triggered-By: @encukou
parent 5dfbb4d5
......@@ -681,7 +681,7 @@ module_dealloc(PyModuleObject *m)
PyObject_GC_UnTrack(m);
if (verbose && m->md_name) {
PySys_FormatStderr("# destroy %S\n", m->md_name);
PySys_FormatStderr("# destroy %U\n", m->md_name);
}
if (m->md_weaklist != NULL)
PyObject_ClearWeakRefs((PyObject *) m);
......@@ -784,6 +784,12 @@ module_clear(PyModuleObject *m)
{
if (m->md_def && m->md_def->m_clear) {
int res = m->md_def->m_clear((PyObject*)m);
if (PyErr_Occurred()) {
PySys_FormatStderr("Exception ignored in m_clear of module%s%V\n",
m->md_name ? " " : "",
m->md_name, "");
PyErr_WriteUnraisable(NULL);
}
if (res)
return res;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment