Author: gnodet
Date: Wed Mar  9 15:34:17 2016
New Revision: 1734268

URL: http://svn.apache.org/viewvc?rev=1734268&view=rev
Log:
[ARIES-1498] Possible NullPointerException in 
AbstractServiceReferenceRecipe#setSatisfied

Modified:
    
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java

Modified: 
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
URL: 
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java?rev=1734268&r1=1734267&r2=1734268&view=diff
==============================================================================
--- 
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
 (original)
+++ 
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
 Wed Mar  9 15:34:17 2016
@@ -89,7 +89,7 @@ public abstract class AbstractServiceRef
 
     private final AtomicBoolean started = new AtomicBoolean();
     private final AtomicBoolean satisfied = new AtomicBoolean();
-    private SatisfactionListener satisfactionListener;
+    private volatile SatisfactionListener satisfactionListener;
 
     private final AccessControlContext accessControlContext;
 
@@ -416,7 +416,10 @@ public abstract class AbstractServiceRef
         // so that it will only be true if the value actually changed
         if (satisfied.getAndSet(s) != s) {
             LOGGER.debug("Service reference with filter {} satisfied {}", 
getOsgiFilter(), this.satisfied);
-            this.satisfactionListener.notifySatisfaction(this);
+            SatisfactionListener listener = this.satisfactionListener;
+            if (listener != null) {
+                listener.notifySatisfaction(this);
+            }
         }
     }
 


Reply via email to