diff --git a/include/util/sleeper_thread.hpp b/include/util/sleeper_thread.hpp index 3d8c05d16..80acf1692 100644 --- a/include/util/sleeper_thread.hpp +++ b/include/util/sleeper_thread.hpp @@ -61,7 +61,7 @@ class SleeperThread { auto sleep() { std::unique_lock lk(mutex_); CancellationGuard cancel_lock; - return condvar_.wait(lk); + return condvar_.wait(lk, [this] { return signal_ || !do_run_; }); } auto sleep_for(std::chrono::system_clock::duration dur) {