You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2018/11/28 14:13:36 UTC

svn commit: r1847643 - /felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java

Author: pderop
Date: Wed Nov 28 14:13:36 2018
New Revision: 1847643

URL: http://svn.apache.org/viewvc?rev=1847643&view=rev
Log:
FELIX-5990: DM ServiceTracker memory leak

Modified:
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java?rev=1847643&r1=1847642&r2=1847643&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java Wed Nov 28 14:13:36 2018
@@ -925,6 +925,9 @@ public class ServiceTracker implements S
             	TreeSet<ServiceReference> services = m_highestTrackedCache.get(serviceId);
             	if (services != null) {
             		services.remove(reference);
+            		if (services.size() == 0) {
+            			m_highestTrackedCache.remove(serviceId);
+            		}
             	}
 			}
         }