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


Reply via email to