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 2016/03/09 16:34:17 UTC

svn commit: r1734268 - /aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java

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