Author: cziegeler
Date: Thu Oct 18 05:28:40 2018
New Revision: 1844202

URL: http://svn.apache.org/viewvc?rev=1844202&view=rev
Log:
FELIX-5950 : NPE in MultiplePrototypeRefPair.unsetServiceObject

Modified:
    felix/trunk/scr/changelog.txt
    
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java

Modified: felix/trunk/scr/changelog.txt
URL: 
http://svn.apache.org/viewvc/felix/trunk/scr/changelog.txt?rev=1844202&r1=1844201&r2=1844202&view=diff
==============================================================================
--- felix/trunk/scr/changelog.txt (original)
+++ felix/trunk/scr/changelog.txt Thu Oct 18 05:28:40 2018
@@ -1,9 +1,20 @@
+Changes in 2.1.14
+-----------------
+** Bug
+    * [FELIX-5950] - NPE in MultiplePrototypeRefPair.unsetServiceObject
+
+
+Changes in 2.1.12
+-----------------
+** Bug
+    * [FELIX-5959] - Exception on changecount timer timeout
+
+
 Changes in 2.1.10
 -----------------
 ** Bug
     * [FELIX-4260] - IllegalStateException: The service has been unregistered
-       * [FELIX-5947] - ClassLoader memory leak
-
+    * [FELIX-5947] - ClassLoader memory leak
 ** Improvement
     * [FELIX-5948] - Collection of performance and memory optimizations
 

Modified: 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java?rev=1844202&r1=1844201&r2=1844202&view=diff
==============================================================================
--- 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java
 (original)
+++ 
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java
 Thu Oct 18 05:28:40 2018
@@ -66,11 +66,18 @@ public class MultiplePrototypeRefPair<S,
     {
        if ( key == null )
        {
-               final Iterator<T> iter = instances.values().iterator();
-               while ( iter.hasNext() ) 
-               {
-                       this.serviceObjects.ungetService(iter.next());
+                       try 
+                       {
+                               final Iterator<T> iter = 
instances.values().iterator();
+                               while ( iter.hasNext() ) 
+                               {
+                           this.serviceObjects.ungetService(iter.next());
+                       } 
                }
+               catch (final IllegalStateException ise)
+               {
+                       // ignore
+                       }
                instances.clear();
                return null ;
        }


Reply via email to