Handle nullptr from getTimekeeperSingleton
[folly.git] / folly / futures / Future.cpp
index dc419433ff84c9f00106e532a23e2fe6fd2915b1..33eb9b94efee58de01e3e466a8ecff30227cb12e 100644 (file)
@@ -41,8 +41,13 @@ Future<Unit> sleep(Duration dur, Timekeeper* tk) {
   std::shared_ptr<Timekeeper> tks;
   if (LIKELY(!tk)) {
     tks = folly::detail::getTimekeeperSingleton();
-    tk = DCHECK_NOTNULL(tks.get());
+    tk = tks.get();
   }
+
+  if (UNLIKELY(!tk)) {
+    return makeFuture<Unit>(NoTimekeeper());
+  }
+
   return tk->after(dur);
 }