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 2007/06/06 17:10:44 UTC
svn commit: r544863 -
/felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ConfigurationDependency.java
Author: marrs
Date: Wed Jun 6 08:10:43 2007
New Revision: 544863
URL: http://svn.apache.org/viewvc?view=rev&rev=544863
Log:
Fixed a concurrency issue.
Modified:
felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ConfigurationDependency.java
Modified: felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ConfigurationDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ConfigurationDependency.java?view=diff&rev=544863&r1=544862&r2=544863
==============================================================================
--- felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ConfigurationDependency.java (original)
+++ felix/trunk/dependencymanager/src/main/java/org/apache/felix/dependencymanager/ConfigurationDependency.java Wed Jun 6 08:10:43 2007
@@ -58,7 +58,7 @@
m_context = context;
}
- public boolean isAvailable() {
+ public synchronized boolean isAvailable() {
return m_settings != null;
}
@@ -100,8 +100,11 @@
}
// if these settings did not cause a configuration exception, we determine
// if they have caused the dependency state to change
- Dictionary oldSettings = m_settings;
- m_settings = settings;
+ Dictionary oldSettings = null;
+ synchronized (this) {
+ oldSettings = m_settings;
+ m_settings = settings;
+ }
if ((oldSettings == null) && (settings != null)) {
m_service.dependencyAvailable(this);
}