You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dj...@apache.org on 2012/09/28 02:02:20 UTC
svn commit: r1391266 -
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
Author: djencks
Date: Fri Sep 28 00:02:20 2012
New Revision: 1391266
URL: http://svn.apache.org/viewvc?rev=1391266&view=rev
Log:
FELIX-3680 fix another concurrency problem demonstrated by Pierres test
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java?rev=1391266&r1=1391265&r2=1391266&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java Fri Sep 28 00:02:20 2012
@@ -1159,6 +1159,11 @@ public class DependencyManager implement
Map deps = ( Map ) dependencyMap.get( this );
BundleContext bundleContext = m_componentManager.getActivator().getBundleContext();
AbstractComponentManager.RefPair refPair = m_bindMethods.getBind().getServiceObject( ref, bundleContext );
+ if ( refPair == null )
+ {
+ //reference deactivated while we are processing.
+ return false;
+ }
deps.put( ref, refPair );
return invokeBindMethod( componentInstance, refPair );
}