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();
}
}