При использовании timed_wait
для boost :: condition_variable
с длительностью, истечет ли время ожидания по истечении времени ожидания, даже если пользователь (или ntp) изменит системное время?
Например,
boost::posix_time::time_duration wait_duration(0, 0, 1, 0); // 1 sec
// ** System time jumps back 15 minutes here. **
if( !signal.timed_wait(lock, wait_duration) )
{
// Does this condition happen 1 second later, or about 15 minutes later?
}