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;


Reply via email to