summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-05-08 11:55:43 +0000
committerGordon Sim <gsim@apache.org>2013-05-08 11:55:43 +0000
commitdd56c78da224817eab19215b0b57073aa1f59be3 (patch)
tree5fdfbaa667f7bd76ee48c7bfa00111bc614286e0 /qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
parenta524ce51e9ab4e290f263074fd08ea0965b201c7 (diff)
downloadqpid-python-dd56c78da224817eab19215b0b57073aa1f59be3.tar.gz
QPID-4819: ensure exclusive lock is released when link is detached (allowing queue to be deleted
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1480238 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp b/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
index 7e98195a60..3b0836a453 100644
--- a/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
+++ b/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
@@ -148,6 +148,7 @@ void OutgoingFromQueue::detached()
for (size_t i = 0 ; i < deliveries.capacity(); ++i) {
if (deliveries[i].msg) queue->release(deliveries[i].cursor, true);
}
+ if (exclusive) queue->releaseExclusiveOwnership();
Queue::tryAutoDelete(*queue->getBroker(), queue, "", "");
}