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 2013/07/18 02:43:21 UTC
svn commit: r1504336 -
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
Author: djencks
Date: Thu Jul 18 00:43:21 2013
New Revision: 1504336
URL: http://svn.apache.org/r1504336
Log:
FELIX-4171 don't try to close DependencyManagers we didn't open
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java?rev=1504336&r1=1504335&r2=1504336&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java Thu Jul 18 00:43:21 2013
@@ -270,10 +270,17 @@ public class ImmediateComponentManager<S
new Object[]
{dm.getName()}, null );
- // make sure, we keep no bindings
+ // make sure, we keep no bindings. Only close the dm's we opened.
+ boolean skip = true;
for ( DependencyManager md: getReversedDependencyManagers() )
{
- md.close( implementationObject, componentContext.getEdgeInfo( md ) );
+ if ( skip && dm == md ) {
+ skip = false;
+ }
+ if ( !skip )
+ {
+ md.close( implementationObject, componentContext.getEdgeInfo( md ) );
+ }
}
setter.resetImplementationObject( implementationObject );