diff options
Diffstat (limited to 'cpp/lib/broker/BrokerQueue.cpp')
-rw-r--r-- | cpp/lib/broker/BrokerQueue.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/cpp/lib/broker/BrokerQueue.cpp b/cpp/lib/broker/BrokerQueue.cpp index 31309bd6c5..b65e8e3a9a 100644 --- a/cpp/lib/broker/BrokerQueue.cpp +++ b/cpp/lib/broker/BrokerQueue.cpp @@ -234,10 +234,9 @@ void Queue::create(const FieldTable& settings) void Queue::configure(const FieldTable& settings) { - QueuePolicy* _policy = new QueuePolicy(settings); - if (_policy->getMaxCount() || _policy->getMaxSize()) { - setPolicy(std::auto_ptr<QueuePolicy>(_policy)); - } + std::auto_ptr<QueuePolicy> _policy(new QueuePolicy(settings)); + if (_policy->getMaxCount() || _policy->getMaxSize()) + setPolicy(_policy); } void Queue::destroy() |