You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2018/06/19 21:52:00 UTC

[sling-org-apache-sling-feature-launcher] branch master updated: Make sure we unregister the OSGiInstaller service listener even in case of an exception.

This is an automated email from the ASF dual-hosted git repository.

pauls pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-launcher.git


The following commit(s) were added to refs/heads/master by this push:
     new c2a62fa  Make sure we unregister the OSGiInstaller service listener even in case of an exception.
c2a62fa is described below

commit c2a62faaf59e778637c98addf6f6d55a736c70e1
Author: Karl Pauls <ka...@gmail.com>
AuthorDate: Tue Jun 19 23:51:53 2018 +0200

    Make sure we unregister the OSGiInstaller service listener even in case of an exception.
---
 .../feature/launcher/impl/launchers/AbstractRunner.java      | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java b/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java
index 4a3976b..466297b 100644
--- a/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java
+++ b/src/main/java/org/apache/sling/feature/launcher/impl/launchers/AbstractRunner.java
@@ -256,10 +256,14 @@ public class AbstractRunner {
         } catch ( final Exception e) {
             Main.LOG().error("Unable to contact installer and install additional artifacts", e);
             throw new RuntimeException(e);
+        } finally  {
+            final Thread t = new Thread(() -> {
+                installerTracker.close();
+                installerTracker = null;
+            });
+            t.setDaemon(false);
+            t.start();
+            this.installables.clear();
         }
-        final Thread t = new Thread(() -> { installerTracker.close(); installerTracker = null; });
-        t.setDaemon(false);
-        t.start();
-        this.installables.clear();
     }
 }