Ignore exceptions in SearchClient dtor

Fixes LUCY-286.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/3c97420f
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/3c97420f
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/3c97420f

Branch: refs/heads/master
Commit: 3c97420f70f92c0f5a9cdf3cee707e5cfa9a98b4
Parents: 355a13d
Author: Nick Wellnhofer <[email protected]>
Authored: Wed Nov 30 20:19:36 2016 +0100
Committer: Nick Wellnhofer <[email protected]>
Committed: Fri Dec 2 20:15:39 2016 +0100

----------------------------------------------------------------------
 perl/lib/LucyX/Remote/SearchClient.pm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/3c97420f/perl/lib/LucyX/Remote/SearchClient.pm
----------------------------------------------------------------------
diff --git a/perl/lib/LucyX/Remote/SearchClient.pm 
b/perl/lib/LucyX/Remote/SearchClient.pm
index cfcbb73..abde423 100644
--- a/perl/lib/LucyX/Remote/SearchClient.pm
+++ b/perl/lib/LucyX/Remote/SearchClient.pm
@@ -51,7 +51,12 @@ sub new {
 
 sub DESTROY {
     my $self = shift;
-    $self->close if defined $sock{$$self};
+    if ( defined $sock{$$self} ) {
+        # Ignore exceptions in destructor.
+        eval {
+            $self->close;
+        };
+    }
     delete $peer_address{$$self};
     delete $sock{$$self};
     $self->SUPER::DESTROY;

Reply via email to