> Yes. > > "Objects that have __del__() methods and are part of a reference cycle > cause the entire reference cycle to be uncollectable, including > objects not necessarily in the cycle but reachable only from it. > Python doesn't collect such cycles automatically because, in general, > it isn't possible for Python to guess a safe order in which to run the > __del__() methods." > > The uncollectable objects are stored in gc.garbage and will not be > freed until their reference cycles are broken and they are removed > from that list.
Ok, guys, I've just recently (in the past week) started using the __del__ method to log class instance destruction so I can keep a track of when objects are created and destroyed, in order to help me trace and fix memory leaks. Are you saying that on the adverse side to this, __del__ may in fact be the CAUSE of a memory leak within my application? If this is the case and __del__ creates such a vulnerability within the application, and apparently isn't all that reliable anyway, why is it still part of the python platform? Cheers, Robert -- http://mail.python.org/mailman/listinfo/python-list