| Index: base/threading/simple_thread.h
 | 
| diff --git a/base/threading/simple_thread.h b/base/threading/simple_thread.h
 | 
| index 3efce1636a1a813d39e5c61bab874edf4de30c09..f9f5e9104595cff04d97730fc17860a971edd0a4 100644
 | 
| --- a/base/threading/simple_thread.h
 | 
| +++ b/base/threading/simple_thread.h
 | 
| @@ -30,8 +30,9 @@
 | 
|  //   MyThreadRunner runner;
 | 
|  //   DelegateSimpleThread thread(&runner, "good_name_here");
 | 
|  //   thread.Start();
 | 
| -//   // The newly created thread will invoke runner->Run(), and run until it
 | 
| -//   // returns.
 | 
| +//   // Start will return after the Thread has been successfully started and
 | 
| +//   // initialized.  The newly created thread will invoke runner->Run(), and
 | 
| +//   // run until it returns.
 | 
|  //   thread.Join();  // Wait until the thread has exited.  You *MUST* Join!
 | 
|  //   // The SimpleThread object is still valid, however you may not call Join
 | 
|  //   // or Start again.
 | 
| @@ -47,7 +48,6 @@
 | 
|  
 | 
|  #include "base/base_export.h"
 | 
|  #include "base/compiler_specific.h"
 | 
| -#include "base/logging.h"
 | 
|  #include "base/macros.h"
 | 
|  #include "base/synchronization/lock.h"
 | 
|  #include "base/synchronization/waitable_event.h"
 | 
| @@ -96,8 +96,14 @@
 | 
|    // Subclasses should override the Run method.
 | 
|    virtual void Run() = 0;
 | 
|  
 | 
| -  // Return the thread id.
 | 
| -  PlatformThreadId GetTid() const;
 | 
| +  // Return the thread id, only valid after Start().
 | 
| +  PlatformThreadId tid() { return tid_; }
 | 
| +
 | 
| +  // Return True if Start() has ever been called.
 | 
| +  bool HasBeenStarted();
 | 
| +
 | 
| +  // Return True if Join() has ever been called.
 | 
| +  bool HasBeenJoined() { return joined_; }
 | 
|  
 | 
|    // Overridden from PlatformThread::Delegate:
 | 
|    void ThreadMain() override;
 | 
| @@ -106,20 +112,10 @@
 | 
|    const std::string name_prefix_;
 | 
|    std::string name_;
 | 
|    const Options options_;
 | 
| -
 | 
| -  // PlatformThread handle, reset after Join.
 | 
| -  PlatformThreadHandle thread_;
 | 
| -
 | 
| -  // Signaled once |tid_| is set.
 | 
| -  mutable WaitableEvent id_event_;
 | 
| -
 | 
| -  // The backing thread's id.
 | 
| -  PlatformThreadId tid_ = kInvalidThreadId;
 | 
| -
 | 
| -#if DCHECK_IS_ON()
 | 
| -  bool has_been_started_ = false;
 | 
| -  bool has_been_joined_ = false;
 | 
| -#endif
 | 
| +  PlatformThreadHandle thread_;  // PlatformThread handle, reset after Join.
 | 
| +  WaitableEvent event_;          // Signaled if Start() was ever called.
 | 
| +  PlatformThreadId tid_ = kInvalidThreadId;  // The backing thread's id.
 | 
| +  bool joined_ = false;                      // True if Join has been called.
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(SimpleThread);
 | 
|  };
 | 
| 
 |