This was bit too brief I think...

Ron Adam wrote:

> How about...?  (This isn't an area I'm real familiar with.)
> 
> 
> Replace __del__ with:
> 
>     a __final__ method and a __finalized__ flag.  (or other equivalent names)

The __final__ method would need to be explicitly called, and the __finalized__ 
flag could be set either by the interpreter or the __final__ method when 
__final__ is called.  __final__ would never be called implicitly by the 
interpreter.

>     Insist on explicit finalizing by raising an exception if an objects
>     __finalize__ flag is still False when it looses it's last reference.
> 
> 
> Would this be difficult to do in a timely way so the traceback is meaningful?
> 
> Would this avoid the problems being discussed with both __del__ and weak refs?
> 
> 
>     Ron

Maybe just adding only an optional __finalized__ flag, that when False forces 
an 
exception if an object looses it's references, might be enough.

I think....

It's not the actual closing/finishing/etc... that is the problem, it's the 
detecting when closing/finishing/etc... is not done that is the problem.

Cheers,
    Ron









_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to