[#4] Cleaned up FastClock background thread.
diff --git a/src/benchmark.cc b/src/benchmark.cc
index 9e68436..b33f1c9 100644
--- a/src/benchmark.cc
+++ b/src/benchmark.cc
@@ -509,7 +509,9 @@
   }
 
   void BGThread() {
-    do {
+    mutex_lock l(&bg_mutex_);
+    while (!bg_done_)
+    {
       struct timeval tv;
       gettimeofday(&tv, nullptr);
 
@@ -523,13 +525,12 @@
       ts.tv_nsec %= kNumNanosPerSecond;
 
       // NOTE: this should probably be platform specific.
-      mutex_lock l(&bg_mutex_);
       pthread_cond_timedwait(&bg_cond_, &bg_mutex_, &ts);
 
       std::atomic_store(&approx_time_, NowMicros());
       // NOTE: same code but no memory barrier. think on it.
       // base::subtle::Release_Store(&approx_time_, NowMicros());
-    } while (!bg_done_);
+    }
   }
 
   DISALLOW_COPY_AND_ASSIGN(FastClock)