ProcessThread improvements.

* Added a way to notify a Module that it's been attached to a ProcessThread.
  The benefit of this is to give the module a way to wake up the thread
  when it needs work to happen on the worker thread, immediately.
  Today, module instances are typically registered with a process thread
  outside the control of the modules themselves.  I.e. they typically
  don't know about the process thread they're attached to.

* Improve ProcessThread's WakeUp algorithm to not call TimeUntilNextProcess
  when a WakeUp call is requested.  This is an optimization for the above
  case which avoids the module having to acquire a lock or do an interlocked
  operation before calling WakeUp(), which would ensure the module's
  TimeUntilNextProcess() implementation would return 0.

BUG=2822
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39239004

Cr-Commit-Position: refs/heads/master@{#8527}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8527 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/utility/source/process_thread_impl.h b/webrtc/modules/utility/source/process_thread_impl.h
index 7e01ae5..0ba6f1f 100644
--- a/webrtc/modules/utility/source/process_thread_impl.h
+++ b/webrtc/modules/utility/source/process_thread_impl.h
@@ -27,13 +27,13 @@
   ProcessThreadImpl();
   ~ProcessThreadImpl() override;
 
-  int32_t Start() override;
-  int32_t Stop() override;
+  void Start() override;
+  void Stop() override;
 
   void WakeUp(Module* module) override;
 
-  int32_t RegisterModule(Module* module) override;
-  int32_t DeRegisterModule(const Module* module) override;
+  void RegisterModule(Module* module) override;
+  void DeRegisterModule(Module* module) override;
 
  protected:
   static bool Run(void* obj);