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 2010/10/16 22:49:55 UTC
svn commit: r1023376 -
/felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java
Author: pderop
Date: Sat Oct 16 20:49:54 2010
New Revision: 1023376
URL: http://svn.apache.org/viewvc?rev=1023376&view=rev
Log:
fixed memory leak in remove(Dependency) method
Modified:
felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java
Modified: felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java?rev=1023376&r1=1023375&r2=1023376&view=diff
==============================================================================
--- felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java (original)
+++ felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java Sat Oct 16 20:49:54 2010
@@ -49,10 +49,6 @@ public class ServiceImpl implements Serv
public Service add(Dependency dependency)
{
- synchronized (this)
- {
- m_dependencies.add(dependency);
- }
if (dependency instanceof ServiceDependencyImpl)
{
m_delegate.add(((org.apache.felix.dependencymanager.impl.ServiceDependencyImpl) dependency).getDelegate());
@@ -66,11 +62,20 @@ public class ServiceImpl implements Serv
{
throw new IllegalArgumentException("dependency type not supported: " + dependency);
}
+
+ synchronized (this)
+ {
+ m_dependencies.add(dependency);
+ }
return this;
}
public Service remove(Dependency dependency)
{
+ synchronized (this)
+ {
+ m_dependencies.remove(dependency);
+ }
if (dependency instanceof ServiceDependencyImpl)
{
m_delegate.remove(((org.apache.felix.dependencymanager.impl.ServiceDependencyImpl) dependency).getDelegate());