[Moscow.pm] weaken with функции
Alexander Lourier
aml на rulezz.ru
Вс Фев 27 22:11:20 PST 2011
В письме 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