You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by gn...@apache.org on 2012/08/01 21:24:05 UTC
svn commit: r1368208 -
/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
Author: gnodet
Date: Wed Aug 1 19:24:05 2012
New Revision: 1368208
URL: http://svn.apache.org/viewvc?rev=1368208&view=rev
Log:
[ARIES-897] The ReferenceRecipe sometimes unget the tracked service for no reason
Conflicts:
blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
Modified:
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java?rev=1368208&r1=1368207&r2=1368208&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java Wed Aug 1 19:24:05 2012
@@ -160,14 +160,16 @@ public class ReferenceRecipe extends Abs
trackedServiceReference = ref;
voidProxiedChildren();
bind(trackedServiceReference, proxy);
- if (oldReference != null && trackedService != null) {
- try {
- getBundleContextForServiceLookup().ungetService(oldReference);
- } catch (IllegalStateException ise) {
- // In case the service no longer exists lets just cope and ignore.
+ if (ref != oldReference) {
+ if (oldReference != null && trackedService != null) {
+ try {
+ blueprintContainer.getBundleContext().ungetService(oldReference);
+ } catch (IllegalStateException ise) {
+ // In case the service no longer exists lets just cope and ignore.
+ }
}
+ trackedService = null;
}
- trackedService = null;
monitor.notifyAll();
}
}