diff options
Diffstat (limited to 'cpp/src/qpid/broker/Connection.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Connection.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp index 21d759c901..ca0ca20849 100644 --- a/cpp/src/qpid/broker/Connection.cpp +++ b/cpp/src/qpid/broker/Connection.cpp @@ -78,11 +78,8 @@ void Connection::closed(){ while (!exclusiveQueues.empty()) { Queue::shared_ptr q(exclusiveQueues.front()); q->releaseExclusiveOwnership(); - if (q->canAutoDelete() && - broker.getQueues().destroyIf(q->getName(), boost::bind(boost::mem_fn(&Queue::canAutoDelete), q))) { - - q->unbind(broker.getExchanges(), q); - q->destroy(); + if (q->canAutoDelete()) { + Queue::tryAutoDelete(broker, q); } exclusiveQueues.erase(exclusiveQueues.begin()); } |