diff options
author | Gordon Sim <gsim@apache.org> | 2007-07-03 09:04:00 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-07-03 09:04:00 +0000 |
commit | e7f82f3d5b39c77ee913ee4cd6b4bf1bdc8b13bc (patch) | |
tree | 287e8ce31be4594915c577045025b466d969d17b /cpp/src/qpid/broker/BrokerAdapter.cpp | |
parent | 953eb74e69055777252ec05e1c277ec32fed82d0 (diff) | |
download | qpid-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.cpp | 5 |
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 } } } |