You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by vv...@apache.org on 2012/04/03 17:56:19 UTC

svn commit: r1309002 - /felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/Activator.java

Author: vvalchev
Date: Tue Apr  3 15:56:18 2012
New Revision: 1309002

URL: http://svn.apache.org/viewvc?rev=1309002&view=rev
Log:
Fixed FELIX-3426 UPnP Plugin device tracking is error-prone
https://issues.apache.org/jira/browse/FELIX-3426

Modified:
    felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/Activator.java

Modified: felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/Activator.java?rev=1309002&r1=1309001&r2=1309002&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/Activator.java (original)
+++ felix/trunk/webconsole-plugins/upnp/src/main/java/org/apache/felix/webconsole/plugins/upnp/internal/Activator.java Tue Apr  3 15:56:18 2012
@@ -69,7 +69,7 @@ public class Activator implements Bundle
     /**
      * @see org.osgi.util.tracker.ServiceTrackerCustomizer#addingService(org.osgi.framework.ServiceReference)
      */
-    public final Object addingService(ServiceReference reference)
+    public final synchronized Object addingService(ServiceReference reference)
     {
         SimpleWebConsolePlugin plugin = this.plugin;
         if (plugin == null)
@@ -88,7 +88,7 @@ public class Activator implements Bundle
      * @see org.osgi.util.tracker.ServiceTrackerCustomizer#removedService(org.osgi.framework.ServiceReference,
      *      java.lang.Object)
      */
-    public final void removedService(ServiceReference reference, Object service)
+    public final synchronized void removedService(ServiceReference reference, Object service)
     {
         SimpleWebConsolePlugin plugin = this.plugin;
 
@@ -99,7 +99,7 @@ public class Activator implements Bundle
                 controller.removedService(reference, service);
         }
 
-        if (tracker.getTrackingCount() == 0 && plugin != null)
+        if (tracker.size() == 0 && plugin != null)
         {
             plugin.unregister();
             this.plugin = null;