From: T Jake Luciani Date: Tue, 23 Dec 2008 03:12:50 +0000 (+0000) Subject: THRIFT-2: check for thrift::socket handle being null X-Git-Tag: 0.2.0~388 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=0d738890ba9236060c1c500c6f44ba1b7133b3d3;p=common%2Fthrift.git THRIFT-2: check for thrift::socket handle being null git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@728860 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/lib/perl/lib/Thrift/Socket.pm b/lib/perl/lib/Thrift/Socket.pm index 740e0483..732f35a8 100644 --- a/lib/perl/lib/Thrift/Socket.pm +++ b/lib/perl/lib/Thrift/Socket.pm @@ -84,7 +84,11 @@ sub isOpen { my $self = shift; - return $self->{handle}->handles->[0]->connected; + if( defined $self->{handle} ){ + return ($self->{handle}->handles())[0]->connected; + } + + return 0; } # @@ -120,7 +124,9 @@ sub close { my $self = shift; - close( ($self->{handle}->handles())[0] ); + if( defined $self->{handle} ){ + close( ($self->{handle}->handles())[0] ); + } } # @@ -135,6 +141,8 @@ sub readAll my $len = shift; + return unless defined $self->{handle}; + my $pre = ""; while (1) { @@ -178,6 +186,8 @@ sub read my $self = shift; my $len = shift; + return unless defined $self->{handle}; + #check for timeout my @sockets = $self->{handle}->can_read( $self->{sendTimeout} / 1000 ); @@ -213,6 +223,8 @@ sub write my $buf = shift; + return unless defined $self->{handle}; + while (length($buf) > 0) { @@ -243,6 +255,9 @@ sub write sub flush { my $self = shift; + + return unless defined $self->{handle}; + my $ret = ($self->{handle}->handles())[0]->flush; }