mirror of https://github.com/python/cpython
Cleanup clear_static_tp_subclasses() (#106276)
Only iterate on the dictionary if Python is built with assertions: subclass is only needed when Python is built with assertions.
This commit is contained in:
parent
80b3d8f337
commit
1a2652ceaa
|
@ -5009,6 +5009,7 @@ clear_static_tp_subclasses(PyTypeObject *type)
|
||||||
going to leak. This mostly only affects embedding scenarios.
|
going to leak. This mostly only affects embedding scenarios.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
// For now we just do a sanity check and then clear tp_subclasses.
|
// For now we just do a sanity check and then clear tp_subclasses.
|
||||||
Py_ssize_t i = 0;
|
Py_ssize_t i = 0;
|
||||||
PyObject *key, *ref; // borrowed ref
|
PyObject *key, *ref; // borrowed ref
|
||||||
|
@ -5021,6 +5022,7 @@ clear_static_tp_subclasses(PyTypeObject *type)
|
||||||
assert(!(subclass->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN));
|
assert(!(subclass->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN));
|
||||||
Py_DECREF(subclass);
|
Py_DECREF(subclass);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
clear_tp_subclasses(type);
|
clear_tp_subclasses(type);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue