В письме Monday 28 February 2011 00:49:41 Ivan Petrov написал:
> некий код:
>
> sub method
> {
> my $self = shift;
> ...
> $self->{handle} = AnyEvent::Handle fh => $fh, on_error => sub {
> $self->{error} = $! };
> ...
> }
>
> получается что каллбек цепляет ссылку на $self и из за него деструктор
> вызван не может быть до тех пор пока handle не уничтожится.
> в случае с просто ссылками - понятно: weaken на них. а здесь куда можно
> weaken натравить чтобы деструктор у такого объекта работал?
После $self = shift; добавить weaken($self);
--
Alexander Lourier, http://aml.rulezz.ru/
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org