| Index: webrtc/p2p/base/port.cc
|
| diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc
|
| index 0add358ec91392917091e957dfc39d28224be5af..f73beda272716437aa69d5195cc81d84a084f20f 100644
|
| --- a/webrtc/p2p/base/port.cc
|
| +++ b/webrtc/p2p/base/port.cc
|
| @@ -216,6 +216,16 @@ Port::~Port() {
|
| delete list[i];
|
| }
|
|
|
| +Port::CloseAndSignalCandidateRemovals() {
|
| + if (closed_) {
|
| + return;
|
| + }
|
| +
|
| + closed_ = true;
|
| + SignalClosed(this);
|
| + SignalCandidatesRemoved(this, candidates_);
|
| +}
|
| +
|
| void Port::SetIceParameters(int component,
|
| const std::string& username_fragment,
|
| const std::string& password) {
|
| @@ -237,6 +247,12 @@ Connection* Port::GetConnection(const rtc::SocketAddress& remote_addr) {
|
| return NULL;
|
| }
|
|
|
| +void Port::FailAndDestroyConnections() {
|
| + for (auto kv : connections_) {
|
| + kv.second->FailAndDestroy();
|
| + }
|
| +}
|
| +
|
| void Port::AddAddress(const rtc::SocketAddress& address,
|
| const rtc::SocketAddress& base_address,
|
| const rtc::SocketAddress& related_address,
|
| @@ -652,7 +668,7 @@ void Port::OnMessage(rtc::Message *pmsg) {
|
|
|
| void Port::OnNetworkInactive(const rtc::Network* network) {
|
| ASSERT(network == network_);
|
| - SignalNetworkInactive(this);
|
| + CloseAndSignalCandidateRemovals();
|
| }
|
|
|
| void Port::OnNetworkTypeChanged(const rtc::Network* network) {
|
|
|