From a39c87bc513736af8a9c14cb0059cc9d66c7efd6 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 4 Mar 2015 21:46:36 +0000 Subject: 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 --- .../org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java | 12 +++++++----- 1 file 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 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(); + } + } -- cgit v1.2.1