diff --git a/src/thread.cpp b/src/thread.cpp index bc0b3fcc..5f3b4d31 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -76,9 +76,10 @@ void TimerThread::idle_loop() { while (!do_exit) { mutex.lock(); - while (!msec && !do_exit) - sleepCondition.wait_for(mutex, msec ? msec : INT_MAX); + do sleepCondition.wait_for(mutex, msec ? msec : INT_MAX); + while (!msec && !do_exit); // Don't allow wakeups when msec = 0 mutex.unlock(); + check_time(); } }