From: Kumar Aditya Date: Wed, 1 Oct 2025 17:49:31 +0000 (+0530) Subject: gh-116946: partial revert gh-139073 for thread handle type (#139474) X-Git-Tag: v3.15.0a1~164 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76b07c035c224fdfd7bafe5dbc087d0e88469c62;p=thirdparty%2FPython%2Fcpython.git gh-116946: partial revert gh-139073 for thread handle type (#139474) --- diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index b43bf5e97d81..cc8277c57838 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -660,6 +660,7 @@ static void PyThreadHandleObject_dealloc(PyObject *op) { PyThreadHandleObject *self = PyThreadHandleObject_CAST(op); + PyObject_GC_UnTrack(self); PyTypeObject *tp = Py_TYPE(self); ThreadHandle_decref(self->handle); tp->tp_free(self); @@ -747,6 +748,7 @@ static PyType_Slot ThreadHandle_Type_slots[] = { {Py_tp_dealloc, PyThreadHandleObject_dealloc}, {Py_tp_repr, PyThreadHandleObject_repr}, {Py_tp_getset, ThreadHandle_getsetlist}, + {Py_tp_traverse, _PyObject_VisitType}, {Py_tp_methods, ThreadHandle_methods}, {Py_tp_new, PyThreadHandleObject_tp_new}, {0, 0} @@ -756,7 +758,7 @@ static PyType_Spec ThreadHandle_Type_spec = { "_thread._ThreadHandle", sizeof(PyThreadHandleObject), 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_IMMUTABLETYPE, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_HAVE_GC, ThreadHandle_Type_slots, };