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