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 740e048..732f35a 100644
--- a/lib/perl/lib/Thrift/Socket.pm
+++ b/lib/perl/lib/Thrift/Socket.pm
@@ -84,7 +84,11 @@
{
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 @@
{
my $self = shift;
- close( ($self->{handle}->handles())[0] );
+ if( defined $self->{handle} ){
+ close( ($self->{handle}->handles())[0] );
+ }
}
#
@@ -135,6 +141,8 @@
my $len = shift;
+ return unless defined $self->{handle};
+
my $pre = "";
while (1) {
@@ -178,6 +186,8 @@
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 @@
my $buf = shift;
+ return unless defined $self->{handle};
+
while (length($buf) > 0) {
@@ -243,6 +255,9 @@
sub flush
{
my $self = shift;
+
+ return unless defined $self->{handle};
+
my $ret = ($self->{handle}->handles())[0]->flush;
}