From bbd6b561cf67b9e786ec4e062fa330f2b226f0b5 Mon Sep 17 00:00:00 2001 From: "hta@webrtc.org" Date: Fri, 20 Apr 2012 09:51:26 +0000 Subject: [PATCH] Memory leak fix: Deleting a factory Also expanded some documentation. Bug found by Valgrind bot. BUG= TEST= Review URL: https://webrtc-codereview.appspot.com/507002 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2080 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/modules/udp_transport/source/udp_transport_impl.cc | 3 ++- src/modules/udp_transport/source/udp_transport_impl.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/udp_transport/source/udp_transport_impl.cc b/src/modules/udp_transport/source/udp_transport_impl.cc index bbf41f062a..e54edd0ef7 100644 --- a/src/modules/udp_transport/source/udp_transport_impl.cc +++ b/src/modules/udp_transport/source/udp_transport_impl.cc @@ -169,8 +169,9 @@ UdpTransportImpl::~UdpTransportImpl() delete _critFilter; delete _critPacketCallback; delete _cachLock; - + delete _socket_creator; UdpSocketManager::Return(); + WEBRTC_TRACE(kTraceMemory, kTraceTransport, _id, "%s deleted", __FUNCTION__); } diff --git a/src/modules/udp_transport/source/udp_transport_impl.h b/src/modules/udp_transport/source/udp_transport_impl.h index 0d93914233..30938804a8 100644 --- a/src/modules/udp_transport/source/udp_transport_impl.h +++ b/src/modules/udp_transport/source/udp_transport_impl.h @@ -34,7 +34,8 @@ public: }; // Constructor, only called by UdpTransport::Create and tests. - // The constructor takes ownership of the factory. + // The constructor takes ownership of the "maker", + // and will call Return on the socket_manager at exit. UdpTransportImpl(const WebRtc_Word32 id, SocketFactoryInterface* maker, UdpSocketManager* socket_manager);