diff --git a/aos/common/util/thread.cc b/aos/common/util/thread.cc
index fab62eb..dbb638e 100644
--- a/aos/common/util/thread.cc
+++ b/aos/common/util/thread.cc
@@ -1,7 +1,8 @@
 #include "aos/common/util/thread.h"
 
 #include <pthread.h>
-#include <assert.h>
+
+#include "aos/common/logging/logging.h"
 
 namespace aos {
 namespace util {
@@ -10,24 +11,30 @@
 
 Thread::~Thread() {
   if (started_ && !joined_) {
-    assert(false);
+    CHECK(false);
   }
 }
 
 void Thread::Start() {
-  assert(!started_);
+  CHECK(!started_);
   started_ = true;
-  assert(pthread_create(&thread_, NULL, &Thread::StaticRun, this) == 0);
+  CHECK(pthread_create(&thread_, NULL, &Thread::StaticRun, this) == 0);
 }
 
 void Thread::Join() {
-  assert(!joined_ && started_);
+  CHECK(!joined_ && started_);
   joined_ = true;
   {
     MutexLocker locker(&should_terminate_mutex_);
     should_terminate_ = true;
   }
-  assert(pthread_join(thread_, NULL) == 0);
+  CHECK(pthread_join(thread_, NULL) == 0);
+}
+
+void Thread::WaitUntilDone() {
+  CHECK(!joined_ && started_);
+  joined_ = true;
+  CHECK(pthread_join(thread_, NULL) == 0);
 }
 
 void *Thread::StaticRun(void *self) {
