Destructor never called ???

Greg Ewing see_reply_address at something.invalid
Mon Sep 23 02:49:19 CEST 2002


Thomas Heller wrote:

> So what are the recommended practices if my program creates datastructures
> containing cyclic references?
> 
> - avoid using __del__ in these objects by  cleaning them 'manually'?
> - only using weak references to break these cycles?
> 
> - and finally using the debugflags of the gc module to ensure everything
> is cleaned correctly?


If you really must have __del__ methods in cyclic
data structures, you could examine the uncollectable-
garbage list periodically and do something to break
up the cycles. Once you've manually broken the
cycle, normal refcounting will take care of the
rest and the __del__s will be called.

-- 
Greg Ewing, Computer Science Dept,
University of Canterbury,	
Christchurch, New Zealand
http://www.cosc.canterbury.ac.nz/~greg




More information about the Python-list mailing list