summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SemanticState.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/SemanticState.cpp')
-rw-r--r--cpp/src/qpid/broker/SemanticState.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp
index 4214f67bfe..1d49e08eb0 100644
--- a/cpp/src/qpid/broker/SemanticState.cpp
+++ b/cpp/src/qpid/broker/SemanticState.cpp
@@ -290,7 +290,7 @@ void SemanticState::ConsumerImpl::cancel()
{
if(queue) {
queue->cancel(this);
- if (queue->canAutoDelete()) {
+ if (queue->canAutoDelete() && !queue->hasExclusiveOwner()) {
parent->getSession().getBroker().getQueues().destroyIf(
queue->getName(),
boost::bind(boost::mem_fn(&Queue::canAutoDelete), queue));