diff options
author | T Jake Luciani <jake@apache.org> | 2008-12-23 03:12:50 +0000 |
---|---|---|
committer | T Jake Luciani <jake@apache.org> | 2008-12-23 03:12:50 +0000 |
commit | 0d738890ba9236060c1c500c6f44ba1b7133b3d3 (patch) | |
tree | 6506d7a91b598c8a4665b6362ac1bfe356dd450c | |
parent | 0a136c8ca8d9bc38d57024636f2ff703ccc80345 (diff) | |
download | thrift-0d738890ba9236060c1c500c6f44ba1b7133b3d3.tar.gz |
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
-rw-r--r-- | lib/perl/lib/Thrift/Socket.pm | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/perl/lib/Thrift/Socket.pm b/lib/perl/lib/Thrift/Socket.pm index 740e0483b..732f35a8f 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; } |