On Thu, 23 Jan 2014 20:30:16 -0800 (PST) "Michael R. Davis" <[email protected]> wrote:
> G. Wade, > > >> My issue is that I have a memory leak > >> I think it's in a statement like this. > >> > >> my $profile=XXX::Profiles::Profile->new(name=>$name, > >> parent=>$self); > >> > >> where it is important for the child object to know who's it's > >> parent is. But, I guess the garbage collector is not cleaning > >> this up when both the parent and child go out of scope. I don't > >> think this is a "circular" reference (I called it a tree; like > >> family tree) but it's > > > > If I'm understanding you, that's the definition of a circular > > reference. > > > > parent -> child -> parent > > Yep, that's exactly what I have. I guess this Engineer needs to > study up on that computer science lingo. <grin/>If this engineer could do it, you know it's possible. > > In this case, the parent owns the child and the child owns the > > parent. > >You should weaken the child's reference to the parent (because the > > child doesn't own the parent.) > > > > I would do the weaken in the the child. You are passing the parent > > reference to the child. The child knows that it doesn't need to own > > the parent reference, so the child should weaken the reference. > > I will try weakening in the children. > > >> It also bothers me that Fedora appears to not get all of the memory > >> back after the Perl process terminates. Is that common? > > > How are you determining whether Fedora "gets all of the memory > > back"? > > `top -c` then "<" to sort by memory. > > This appears to be this bug. So, unrelated but hurts just the same. > > https://bugzilla.redhat.com/show_bug.cgi?id=473547 > Bug 473547 - console-kit-daemon huge memory allocation G. Wade -- Be a good ancestor. -- Jonas Salk _______________________________________________ Houston mailing list [email protected] http://mail.pm.org/mailman/listinfo/houston Website: http://houston.pm.org/
