| Index: webrtc/base/fakenetwork.h
|
| diff --git a/webrtc/base/fakenetwork.h b/webrtc/base/fakenetwork.h
|
| index 60773b4099dc9e5bafedb98533c16177385f595e..1656fcc536c16416775d6b6f4e7488a9fdee05f0 100644
|
| --- a/webrtc/base/fakenetwork.h
|
| +++ b/webrtc/base/fakenetwork.h
|
| @@ -32,7 +32,7 @@ class FakeNetworkManager : public NetworkManagerBase,
|
| FakeNetworkManager()
|
| : thread_(Thread::Current()),
|
| next_index_(0),
|
| - started_(false),
|
| + start_count_(0),
|
| sent_first_update_(false) {
|
| }
|
|
|
| @@ -58,19 +58,19 @@ class FakeNetworkManager : public NetworkManagerBase,
|
| }
|
|
|
| virtual void StartUpdating() {
|
| - if (started_) {
|
| + if (start_count_ == 0) {
|
| + ++start_count_;
|
| + sent_first_update_ = false;
|
| + thread_->Post(this);
|
| + } else {
|
| + ++start_count_;
|
| if (sent_first_update_)
|
| SignalNetworksChanged();
|
| - return;
|
| }
|
| -
|
| - started_ = true;
|
| - sent_first_update_ = false;
|
| - thread_->Post(this);
|
| }
|
|
|
| virtual void StopUpdating() {
|
| - started_ = false;
|
| + --start_count_;
|
| }
|
|
|
| // MessageHandler interface.
|
| @@ -80,7 +80,7 @@ class FakeNetworkManager : public NetworkManagerBase,
|
|
|
| private:
|
| void DoUpdateNetworks() {
|
| - if (!started_)
|
| + if (start_count_ == 0)
|
| return;
|
| std::vector<Network*> networks;
|
| for (IfaceList::iterator it = ifaces_.begin();
|
| @@ -110,7 +110,7 @@ class FakeNetworkManager : public NetworkManagerBase,
|
| Thread* thread_;
|
| IfaceList ifaces_;
|
| int next_index_;
|
| - bool started_;
|
| + int start_count_;
|
| bool sent_first_update_;
|
| };
|
|
|
|
|