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 );
             }