summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-06-05 21:39:50 +0000
committerTed Ross <tross@apache.org>2009-06-05 21:39:50 +0000
commit2c83aa9fdf0fb938c9eb44c2e55da54208092bec (patch)
treec3134a57a1506889fdc021cb5a3d7d1a0709fbe8 /qpid/cpp
parent262dc4f141a94094827b7ccef18c2d210c710f97 (diff)
downloadqpid-python-2c83aa9fdf0fb938c9eb44c2e55da54208092bec.tar.gz
QPID-1892 - Fixed a memory leak where recovered durable queues are never deleted.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@782146 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
index 1e8dcd9868..ae5faf9dc5 100644
--- a/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
+++ b/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
@@ -118,6 +118,7 @@ RecoverableQueue::shared_ptr RecoveryManagerImpl::recoverQueue(framing::Buffer&
Exchange::shared_ptr exchange = exchanges.getDefault();
if (exchange) {
exchange->bind(queue, queue->getName(), 0);
+ queue->bound(exchange->getName(), queue->getName(), framing::FieldTable());
}
} catch (const framing::NotFoundException& /*e*/) {
//assume no default exchange has been declared
@@ -226,6 +227,7 @@ void RecoverableExchangeImpl::bind(string& queueName, string& key, framing::Fiel
{
Queue::shared_ptr queue = queues.find(queueName);
exchange->bind(queue, key, &args);
+ queue->bound(exchange->getName(), key, args);
}
void RecoverableMessageImpl::dequeue(DtxBuffer::shared_ptr buffer, Queue::shared_ptr queue)