mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
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
This commit is contained in:
parent
5dfbb4d503
commit
d7c387384a
1 changed files with 7 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue