[issue9141] Allow objects to decide if they can be collected by GC
report at bugs.python.org
Fri Jul 2 16:04:51 CEST 2010
Antoine Pitrou <pitrou at free.fr> added the comment:
> 1. The use case is any C extension that may need to run non-trivial
> code when being deleted, but where this can not be statically known.
tp_del is IMO a bad place to do it. I'd recommend tp_dealloc instead,
precisely so that you don't end up with uncollectable objects tied to
internal OS structures or other non-trivial resources.
(also, tp_del seems to have problems with subclassing. I don't remember
> 3. This code is only invoked for garbage deemed collectable. As such
> it is not on any critical path, most gc collections don't actually
> find any garbage. The cost of a few extra indirect function calls is
> likely to drown in the memory allocator overhead when the objects are
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list