Skip to content

Commit c497ebe

Browse files
committed
Bugfix
If the client object was destroyed prematurely, in some cases "_process_reply" method have been called on undefined value.
1 parent b75683d commit c497ebe

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/AnyEvent/RipeRedis.pm

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,9 +349,7 @@ sub _create_on_read {
349349
my $handle = shift;
350350

351351
MAIN: while (1) {
352-
if ( $handle->destroyed ) {
353-
return;
354-
}
352+
return if $handle->destroyed;
355353

356354
my $reply;
357355
my $err_code;
@@ -988,6 +986,10 @@ sub AUTOLOAD {
988986
sub DESTROY {
989987
my $self = shift;
990988

989+
if ( defined $self->{_handle} ) {
990+
$self->{_handle}->destroy;
991+
}
992+
991993
if ( defined $self->{_processing_queue} ) {
992994
my @queued_commands = $self->_queued_commands;
993995

0 commit comments

Comments
 (0)