Well guess not, since something like this...

{
  my ($a, $b, $c);

  $a = \$b;
  $b = \$c;
  $c = \$a;
}

would definitelly be hard, resource consuming to implement a circular
reference count.

Ilya

> -----Original Message-----
> From: Sterin, Ilya [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 01, 2001 3:39 PM
> To: 'Buddha Buck '; ''[EMAIL PROTECTED]' '
> Subject: RE: Circular references
>
>
> Did really think about that:)
> But off the top of my head...
>
> This is only a guess, but
>
> my $a;
> $a = \$a;
>
> A match of two addresses.  Though we are assigning on reference
> to a scalar,
> we can match both addresses?
>
>
> package CircRef;
>
> sub new {
>   my $self = [];
>   bless $self, shift;
>
>   $self->[0] = $self;  # <-- circular reference.
>   return $self;
> }
>
> The match of both object would genereate a circular reference.
>
> I guess by doing some extra checking this can be accomplished, just don't
> know if 100%, since can't think of other scenerious right now and
> the above
> suggestion might be wrong too:)
>
> But as Dan said, GC will take care of that.  I know that I've
> read somewhere
> before that Python keeps track of it's circular references, so I was sure
> there was a way of doing this, just not exactly sure how it was
> implemented.
>
> Ilya
>
>
> -----Original Message-----
> From: Buddha Buck
> To: Sterin, Ilya; '[EMAIL PROTECTED]'
> Sent: 08/01/2001 1:18 PM
> Subject: Re: Circular references
>
> At 01:01 PM 08-01-2001 -0600, Sterin, Ilya wrote:
> >I was just wondering if there will be any solution for the circular
> >refernece memory leak (I guess you can call it a problem).  Can't we
> keep
> >information on the number of circular references in the SV structure
> and
> >then decrement the references count by one + the circular reference
> count at
> >the end of scope?
>
> Dan has already answered (dead-object detection sweeps by the GC will
> take
> care of it), but I'm curious?
>
> How do you detect a circular reference so you can update the circular
> reference count?
>
> >Ilya

Reply via email to