[Python-Dev] issue 9141, finalizers and gc module (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Tue Apr 17 20:30:55 CEST 2012
- Previous message: [Python-Dev] issue 9141, finalizers and gc module
- Next message: [Python-Dev] issue 9141, finalizers and gc module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, 17 Apr 2012 17:22:57 +0000 Kristján Valur Jónsson <kristjan at ccpgames.com> wrote:
> > We are all consenting adults. Everything is allowed - you just have to live with > the consequences.
Well, we specifically decided that objects with del methods that are part of a cycle cannot be run. The same reasoning was applied to generators, if they are in a certain state. What makes iobase so special that its 'close' method can be run even if it is part of a cycle?
The reason is that making file objects uncollectable when they are part of a reference cycle would be a PITA and a serious regression for many applications, I think.
Why not allow it for all objects, then?
I'm not the author of the original GC design. Perhaps it was deliberately conservative at the time? I think PyPy has a more tolerant solution for finalizers in reference cycles, perhaps they can explain it here.
Regards
Antoine.
- Previous message: [Python-Dev] issue 9141, finalizers and gc module
- Next message: [Python-Dev] issue 9141, finalizers and gc module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]