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 2011/11/22 12:46:10 UTC
svn commit: r1204935 -
/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java
Author: gnodet
Date: Tue Nov 22 11:46:09 2011
New Revision: 1204935
URL: http://svn.apache.org/viewvc?rev=1204935&view=rev
Log:
[ARIES-788] Possible NPE when destroying the blueprint container
Modified:
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java
Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java?rev=1204935&r1=1204934&r2=1204935&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java Tue Nov 22 11:46:09 2011
@@ -184,10 +184,17 @@ public class ReferenceListRecipe extends
public synchronized void destroy() {
if (reference != null) {
- reference.getBundle().getBundleContext().ungetService(reference);
+ ServiceReference ref = reference;
reference = null;
service = null;
proxy = null;
+ Bundle bundle = ref.getBundle();
+ if (bundle != null) {
+ BundleContext ctx = bundle.getBundleContext();
+ if (ctx != null) {
+ ctx.ungetService(reference);
+ }
+ }
}
}