On Sat, 18 May 2013 22:51:35 +1000
Nick Coghlan <ncogh...@gmail.com> wrote:
> On Sat, May 18, 2013 at 9:46 PM, Antoine Pitrou <solip...@pitrou.net> wrote:
> > On Sat, 18 May 2013 21:05:48 +1000
> > Nick Coghlan <ncogh...@gmail.com> wrote:
> >> On Sat, May 18, 2013 at 6:59 PM, Antoine Pitrou <solip...@pitrou.net> 
> >> wrote:
> >> > Resurrection
> >> >     The process by which a finalizer creates a new reference to an
> >> >     object in a CI.  This can happen as a quirky but supported
> >> >     side-effect of ``__del__`` methods.
> >>
> >> I really like the PEP overall, but could we at least get the option to
> >> have cases of object resurrection spit out a warning? And a clear
> >> rationale for not turning on such a warning by default?
> >
> > Where would you put the option?
> > As for the rationale, it's simply compatibility: resurrection works
> > without warnings right now :)
> 
> Command line, probably. However, you're right that's something we can
> consider later - for the PEP it's enough that it still works, and we
> just avoid calling the __del__ method a second time.

Actually, the __del__ method is called again on the next destruction
attempt - as mentioned in the PEP:

« Following this scheme, an object's finalizer is always called exactly
once. The only exception is if an object is resurrected: the finalizer
will be called again later. »

I could change it to only call __del__ ever once, it just sounded
more logical to call it each time destruction is attempted.

(this is in contrast to weakrefs, though, which are cleared once and
for all)

Regards

Antoine.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to