From 7118e6166924b569805552253aebd8ae6e370bf3 Mon Sep 17 00:00:00 2001 From: "pbos@webrtc.org" Date: Mon, 8 Sep 2014 21:44:07 +0000 Subject: [PATCH] Finish work queue in SctpDataMediaChannelTest. Always finishing the work queue prevents memory leak detected in LeakSanitizer (packet is deleted on the receiver side). R=jiayl@webrtc.org BUG=3608,chromium:375154 Review URL: https://webrtc-codereview.appspot.com/28399004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7110 4adac7df-926f-26a2-2b94-8c16560cd09d --- talk/media/sctp/sctpdataengine_unittest.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/talk/media/sctp/sctpdataengine_unittest.cc b/talk/media/sctp/sctpdataengine_unittest.cc index 0fb9b9d092..eedb3cc64a 100644 --- a/talk/media/sctp/sctpdataengine_unittest.cc +++ b/talk/media/sctp/sctpdataengine_unittest.cc @@ -69,8 +69,7 @@ class SctpFakeNetworkInterface : public cricket::MediaChannel::NetworkInterface, // TODO(ldixon): Can/should we use Buffer.TransferTo here? // Note: this assignment does a deep copy of data from packet. - rtc::Buffer* buffer = new rtc::Buffer(packet->data(), - packet->length()); + rtc::Buffer* buffer = new rtc::Buffer(packet->data(), packet->length()); thread_->Post(this, MSG_PACKET, rtc::WrapMessageData(buffer)); LOG(LS_VERBOSE) << "SctpFakeNetworkInterface::SendPacket, Posted message."; return true; @@ -266,6 +265,10 @@ class SctpDataMediaChannelTest : public testing::Test, virtual void TearDown() { channel1()->SetSend(false); channel2()->SetSend(false); + + // Process messages until idle to prevent a sent packet from being dropped + // and causing memory leaks (not being deleted by the receiver). + ProcessMessagesUntilIdle(); } void AddStream(int ssrc) {