You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2018/04/03 14:46:15 UTC

aries-jax-rs-whiteboard git commit: Make sure we close all results

Repository: aries-jax-rs-whiteboard
Updated Branches:
  refs/heads/master 3dfd0b133 -> 5b2caed2a


Make sure we close all results


Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/5b2caed2
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/5b2caed2
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/5b2caed2

Branch: refs/heads/master
Commit: 5b2caed2a758e6456713054a674f08d862ac0695
Parents: 3dfd0b1
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Apr 3 16:41:50 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Apr 3 16:41:50 2018 +0200

----------------------------------------------------------------------
 .../jax/rs/whiteboard/internal/FilteredPublisher.java    | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/5b2caed2/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/FilteredPublisher.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/FilteredPublisher.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/FilteredPublisher.java
index 79b2591..811961d 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/FilteredPublisher.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/FilteredPublisher.java
@@ -50,10 +50,15 @@ public class FilteredPublisher implements AutoCloseable {
         }
 
         if (_filter.match(serviceReference.getServiceReference())) {
-            OSGiResult result = _results.put(
-                serviceReference, _publisher.publish(serviceReference));
+            OSGiResult result = _publisher.publish(serviceReference);
 
-            if (result != null) {
+            OSGiResult old = _results.put(serviceReference, result);
+
+            if (old != null) {
+                old.close();
+            }
+
+            if (_closed.get()) {
                 result.close();
             }
         }