summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorT Jake Luciani <jake@apache.org>2008-12-23 03:12:50 +0000
committerT Jake Luciani <jake@apache.org>2008-12-23 03:12:50 +0000
commit0d738890ba9236060c1c500c6f44ba1b7133b3d3 (patch)
tree6506d7a91b598c8a4665b6362ac1bfe356dd450c
parent0a136c8ca8d9bc38d57024636f2ff703ccc80345 (diff)
downloadthrift-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.pm19
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;
}