[Gc] libgc not collecting objects with cyclic references ?
meessen at cppm.in2p3.fr
Mon Mar 19 01:12:53 PST 2007
I am a bit confused by the following comment in gc_cpp.h
"Thus, if objects A and B both have clean-up functions, and A points at
B, B is considered accessible. After A's clean-up is invoked and its
storage released, B will then become inaccessible and will have its
clean-up invoked. If A points at B and B points to A, forming a
cycle, then that's considered a storage leak, and neither will be
collectable. See the interface gc.h for low-level facilities for
handling such cycles of objects with clean-up."
I am a bit surprized about the statement that cycle references are not
resolved by the gc. Does this apply only to blocks with clean-up
functions ? Is the destructor of a C++ function a clean-up function ?
More information about the Gc