ts <decoux / moulon.inra.fr> [2004-07-31 13:06]: > >>>>> "T" == Tilman Sauerbeck <tilman / code-monkey.de> writes: > > T> Yeah. Although if I make the parent object (the XmmsClient, 'o') know > T> about (and mark) the Result objects, I've got a circular reference, > T> since the result objects mark their parent, which is 'o'. > > Circular reference is not a problem because the GC is a mark-sweep GC. > > [code] > `bdb' will mark `aux' and `aux' will mark `bdb' > > When the GC run, it will not mark `bdb' because it has no reference to it, > and it will not mark `aux' for the same reason. At the sweep phase, `bdb' > and `aux' are removed (closed in this case) Ah, so the GC might omit the call to the mark callback before the free callback is called? Until now I thought the mark function was always executed. So far my objects only marked the objects they depend upon, their parents so to say. I'll change this so they mark all the objects they get in touch with =) Thank you :) -- Regards, Tilman