From 664ac8570f45d193c66b8f8c16e6eb8e9dd28ed1 Mon Sep 17 00:00:00 2001 From: Michael Green Date: Wed, 10 Jun 2020 12:07:24 +0200 Subject: [PATCH] prevent circular references --- lib/MojoX/NetstringStream.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/MojoX/NetstringStream.pm b/lib/MojoX/NetstringStream.pm index b44b0e7..a5e8014 100644 --- a/lib/MojoX/NetstringStream.pm +++ b/lib/MojoX/NetstringStream.pm @@ -3,6 +3,7 @@ package MojoX::NetstringStream; use Mojo::Base 'Mojo::EventEmitter'; use Carp; +use Scalar::Util qw(weaken); our $VERSION = '0.06'; @@ -21,8 +22,11 @@ sub new { $self->{debug} = $args{debug} // 0; $self->{maxsize} = $args{maxsize}; $stream->timeout(0); - $stream->on(read => sub{ $self->_on_read(@_); }); - $stream->on(close => sub{ $self->_on_close(@_); }); + { + weaken (my $self = $self); + $stream->on(read => sub{ $self->_on_read(@_); }); + $stream->on(close => sub{ $self->_on_close(@_); }); + } return $self; }