From 0bd743cee17ab8a96122ca0cc692419232a3d3bb Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Thu, 13 Nov 2003 22:50:00 +0000 Subject: subtype_dealloc(): Simplified overly contorted retracking logic. With this change, I think subtype_dealloc is actually a smidgen less obscure than it was in 2.3 -- we got rid of a negation in an "if" . --- Objects/typeobject.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 032fa18..e4eadb8 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -690,12 +690,11 @@ subtype_dealloc(PyObject *self) } } - /* Finalize GC if the base doesn't do GC and we do */ - _PyObject_GC_TRACK(self); - if (!PyType_IS_GC(base)) - _PyObject_GC_UNTRACK(self); - - /* Call the base tp_dealloc() */ + /* Call the base tp_dealloc(); first retrack self if + * basedealloc knows about gc. + */ + if (PyType_IS_GC(base)) + _PyObject_GC_TRACK(self); assert(basedealloc); basedealloc(self); -- cgit v0.12