[3.13] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136126)

gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614)

(cherry picked from commit b1056c2a44)

Co-authored-by: Xuanteng Huang <44627253+xuantengh@users.noreply.github.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
This commit is contained in:
Victor Stinner 2025-07-01 11:26:52 +02:00 committed by GitHub
parent 1e3466a1ae
commit e3a277c8d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 75 additions and 73 deletions

View file

@ -26,6 +26,7 @@
#include "pycore_abstract.h" // _Py_convert_optional_to_ssize_t()
#include "pycore_bytesobject.h" // _PyBytes_Find()
#include "pycore_fileutils.h" // _Py_stat_struct
#include "pycore_weakref.h" // FT_CLEAR_WEAKREFS()
#include <stddef.h> // offsetof()
#ifndef MS_WINDOWS
@ -161,8 +162,7 @@ mmap_object_dealloc(mmap_object *m_obj)
Py_END_ALLOW_THREADS
#endif /* UNIX */
if (m_obj->weakreflist != NULL)
PyObject_ClearWeakRefs((PyObject *) m_obj);
FT_CLEAR_WEAKREFS((PyObject *) m_obj, m_obj->weakreflist);
tp->tp_free(m_obj);
Py_DECREF(tp);