| 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_;
 | 
|  };
 | 
|  
 | 
| 
 |