Index: webrtc/p2p/client/basicportallocator.cc |
diff --git a/webrtc/p2p/client/basicportallocator.cc b/webrtc/p2p/client/basicportallocator.cc |
index 11d0cef84741309a660f6aee10e7143016a20470..3c77b4feabaa4a63664dc76cdccf119ca77f91e3 100644 |
--- a/webrtc/p2p/client/basicportallocator.cc |
+++ b/webrtc/p2p/client/basicportallocator.cc |
@@ -192,10 +192,14 @@ void BasicPortAllocatorSession::StartGettingPorts() { |
void BasicPortAllocatorSession::StopGettingPorts() { |
ASSERT(rtc::Thread::Current() == network_thread_); |
running_ = false; |
+ network_thread_->Post(this, MSG_CONFIG_STOP); |
+ ClearGettingPorts(); |
+} |
+ |
+void BasicPortAllocatorSession::ClearGettingPorts() { |
network_thread_->Clear(this, MSG_ALLOCATE); |
for (uint32 i = 0; i < sequences_.size(); ++i) |
sequences_[i]->Stop(); |
- network_thread_->Post(this, MSG_CONFIG_STOP); |
} |
void BasicPortAllocatorSession::OnMessage(rtc::Message *message) { |