summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/LinkEndpoint.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/LinkEndpoint.java b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/LinkEndpoint.java
index 246d43d3de..02ea86c30b 100644
--- a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/LinkEndpoint.java
+++ b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/LinkEndpoint.java
@@ -176,7 +176,7 @@ public abstract class LinkEndpoint<T extends LinkEventListener>
return _linkCredit;
}
- public void remoteDetached(Detach detach)
+ public void remoteDetached(final Detach detach)
{
synchronized (getLock())
{
@@ -187,7 +187,14 @@ public abstract class LinkEndpoint<T extends LinkEventListener>
break;
case ATTACHED:
_state = State.DETACH_RECVD;
- _linkEventListener.remoteDetached(this, detach);
+ getSession().getConnection().addPostLockAction(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ _linkEventListener.remoteDetached(LinkEndpoint.this, detach);
+ }
+ });
break;
}
getLock().notifyAll();