From f90f46c05b12e9e38bff1ac8418add1b3fa074d8 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 5 Apr 2007 21:23:14 +0000 Subject: * cpp/src/broker/BrokerMessageMessage.h: Change reference from weak_ptr to shared_ptr. Broker messages hold their reference. * cpp/src/broker/Reference.cpp (close): clear messages array to break shared_ptr cycle and avoid a leak. * cpp/src/client/MessageMessageChannel.cpp (publish): Support references for large messages. * cpp/src/shared_ptr.h (make_shared_ptr): added deleter variant. * cpp/src/tests/ClientChannelTest.cpp: Enabled testGetNoContent, testGetFragmentedMessage git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@525964 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/broker/Reference.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'qpid/cpp/src/broker/Reference.cpp') diff --git a/qpid/cpp/src/broker/Reference.cpp b/qpid/cpp/src/broker/Reference.cpp index ef55d3e6a2..1ef2eb44d0 100644 --- a/qpid/cpp/src/broker/Reference.cpp +++ b/qpid/cpp/src/broker/Reference.cpp @@ -46,6 +46,7 @@ void Reference::append(AppendPtr ptr) { } void Reference::close() { + messages.clear(); registry->references.erase(getId()); } -- cgit v1.2.1