summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/BrokerAdapter.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-07-03 09:04:00 +0000
committerGordon Sim <gsim@apache.org>2007-07-03 09:04:00 +0000
commite7f82f3d5b39c77ee913ee4cd6b4bf1bdc8b13bc (patch)
tree287e8ce31be4594915c577045025b466d969d17b /cpp/src/qpid/broker/BrokerAdapter.cpp
parent953eb74e69055777252ec05e1c277ec32fed82d0 (diff)
downloadqpid-python-e7f82f3d5b39c77ee913ee4cd6b4bf1bdc8b13bc.tar.gz
Autodeletable shared queues are now deleted as soon as the consumer count drops to zero (i.e. there is no timeout).
This closes QPID-533. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@552751 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/BrokerAdapter.cpp')
-rw-r--r--cpp/src/qpid/broker/BrokerAdapter.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/BrokerAdapter.cpp b/cpp/src/qpid/broker/BrokerAdapter.cpp
index a0ab42592e..dc8cd6cce1 100644
--- a/cpp/src/qpid/broker/BrokerAdapter.cpp
+++ b/cpp/src/qpid/broker/BrokerAdapter.cpp
@@ -213,7 +213,7 @@ void BrokerAdapter::QueueHandlerImpl::declare(const MethodContext& context, uint
std::pair<Queue::shared_ptr, bool> queue_created =
broker.getQueues().declare(
name, durable,
- autoDelete ? connection.getTimeout() : 0,
+ autoDelete && !exclusive,
exclusive ? &connection : 0);
queue = queue_created.first;
assert(queue);
@@ -229,9 +229,6 @@ void BrokerAdapter::QueueHandlerImpl::declare(const MethodContext& context, uint
//handle automatic cleanup:
if (exclusive) {
connection.exclusiveQueues.push_back(queue);
- } else if(autoDelete){
- broker.getCleaner().add(queue);
- broker.getCleaner().clean(); // check if cleaning is needed
}
}
}