diff options
Diffstat (limited to 'cpp/src/qpid/broker/QueueRegistry.h')
-rw-r--r-- | cpp/src/qpid/broker/QueueRegistry.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/cpp/src/qpid/broker/QueueRegistry.h b/cpp/src/qpid/broker/QueueRegistry.h index f724e6b10c..a354513c5f 100644 --- a/cpp/src/qpid/broker/QueueRegistry.h +++ b/cpp/src/qpid/broker/QueueRegistry.h @@ -7,9 +7,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -61,7 +61,7 @@ class QueueRegistry { QPID_BROKER_EXTERN std::pair<boost::shared_ptr<Queue>, bool> declare( const std::string& name, bool durable = false, - bool autodelete = false, + bool autodelete = false, const OwnershipToken* owner = 0, boost::shared_ptr<Exchange> alternateExchange = boost::shared_ptr<Exchange>(), const qpid::framing::FieldTable& args = framing::FieldTable(), @@ -82,9 +82,8 @@ class QueueRegistry { QPID_BROKER_EXTERN void destroy(const std::string& name); template <class Test> bool destroyIf(const std::string& name, Test test) { - qpid::sys::RWlock::ScopedWlock locker(lock); if (test()) { - destroyLH (name); + destroy(name); return true; } else { return false; @@ -127,13 +126,13 @@ class QueueRegistry { for (QueueMap::const_iterator i = queues.begin(); i != queues.end(); ++i) f(i->second); } - + /** * Change queue mode when cluster size drops to 1 node, expands again * in practice allows flow queue to disk when last name to be exectuted */ void updateQueueClusterState(bool lastNode); - + private: typedef std::map<std::string, boost::shared_ptr<Queue> > QueueMap; QueueMap queues; @@ -144,12 +143,9 @@ private: management::Manageable* parent; bool lastNode; //used to set mode on queue declare Broker* broker; - - //destroy impl that assumes lock is already held: - void destroyLH (const std::string& name); }; - + }} // namespace qpid::broker |