From a95a9818e8157edd23bb43a0fe36366869859a69 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 8 Jan 2014 22:07:37 +0000 Subject: Merged r1556593 to 0.26 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.26@1556656 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/protocol/v0_10/ServerSessionDelegate.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java index 46626e3e92..a0b60ae640 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java @@ -212,10 +212,21 @@ public class ServerSessionDelegate extends SessionDelegate { ServerSession s = (ServerSession) session; queue.setExclusiveOwningSession(s); + + ((ServerSession) session).addSessionCloseTask(new ServerSession.Task() + { + public void doTask(ServerSession session) + { + if(queue.getExclusiveOwningSession() == session) + { + queue.setExclusiveOwningSession(null); + } + } + }); + if(queue.getAuthorizationHolder() == null) { queue.setAuthorizationHolder(s); - queue.setExclusiveOwningSession(s); ((ServerSession) session).addSessionCloseTask(new ServerSession.Task() { public void doTask(ServerSession session) @@ -223,7 +234,6 @@ public class ServerSessionDelegate extends SessionDelegate if(queue.getAuthorizationHolder() == session) { queue.setAuthorizationHolder(null); - queue.setExclusiveOwningSession(null); } } }); -- cgit v1.2.1