diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2015-03-04 21:46:36 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2015-03-04 21:46:36 +0000 |
commit | a39c87bc513736af8a9c14cb0059cc9d66c7efd6 (patch) | |
tree | e285d96761615b1febd748eef0b6c21fa24e8729 | |
parent | e2e5605ff0f0597bbb2a596ae2c9e0dc54aef7f0 (diff) | |
download | qpid-python-a39c87bc513736af8a9c14cb0059cc9d66c7efd6.tar.gz |
QPID-6433 : notify link listeners of flow state change outside of the connection endpoint lock
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1664160 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java index 5a28ddcb60..e16a469ba4 100644 --- a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java +++ b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java @@ -456,7 +456,7 @@ public class SessionEndpoint public void receiveFlow(final Flow flow) { - + Collection<LinkEndpoint> endpoints = new ArrayList<>(); synchronized(getLock()) { UnsignedInteger handle = flow.getHandle(); @@ -472,15 +472,17 @@ public class SessionEndpoint } else { - for(LinkEndpoint le : _remoteLinkEndpoints.values()) - { - le.flowStateChanged(); - } + endpoints.addAll(_remoteLinkEndpoints.values()); } getLock().notifyAll(); } + for(LinkEndpoint le : endpoints) + { + le.flowStateChanged(); + } + } |