You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2009/12/22 23:16:43 UTC

svn commit: r893330 - in /felix/trunk/dependencymanager: core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java

Author: marrs
Date: Tue Dec 22 22:16:43 2009
New Revision: 893330

URL: http://svn.apache.org/viewvc?rev=893330&view=rev
Log:
small bugfixes

Modified:
    felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java
    felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java

Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java?rev=893330&r1=893329&r2=893330&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java Tue Dec 22 22:16:43 2009
@@ -140,8 +140,9 @@
 	}
 
 	public void updated(Dictionary settings) throws ConfigurationException {
-	    m_updateInvokedCache.clear();
-	    
+	    synchronized (m_updateInvokedCache) {
+	        m_updateInvokedCache.clear();
+	    }
 	    Dictionary oldSettings = null; 
 	    synchronized (this) {
 	        oldSettings = m_settings;
@@ -190,7 +191,11 @@
 	}
 
     public void invokeUpdate(DependencyService ds, Object service, Dictionary settings) throws ConfigurationException {
-        if (m_updateInvokedCache.add(ds)) {
+        boolean wasAdded;
+        synchronized (m_updateInvokedCache) {
+            wasAdded = m_updateInvokedCache.add(ds);
+        }
+        if (wasAdded) {
             String callback = (m_callback == null) ? "updated" : m_callback;
             Method m;
             try {

Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java?rev=893330&r1=893329&r2=893330&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java Tue Dec 22 22:16:43 2009
@@ -102,9 +102,9 @@
         m.add(consumer2);
         e.waitForStep(3, 15000);
         // break down the test again
-        m.remove(provider);
-        m.remove(consumer1);
         m.remove(consumer2);
+        m.remove(consumer1);
+        m.remove(provider);
     }
     
     @Test