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;