FELIX-5043 Potential of waiting forever in ServiceRegistry.getService()

This commit should fix the issue. I'll contribute a test in a separate commit.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1703814 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java b/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
index da101e9..22552e8 100644
--- a/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
+++ b/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
@@ -340,9 +340,12 @@
                         if (usage.m_svcHolderRef.compareAndSet(null, h))
                         {
                             holder = h;
-                            svcObj = reg.getService(bundle);
-                            holder.m_service = svcObj;
-                            holder.m_latch.countDown();
+                            try {
+                                svcObj = reg.getService(bundle);
+                                holder.m_service = svcObj;
+                            } finally {
+                                holder.m_latch.countDown();
+                            }
                         }
                         else
                         {