В стандарте C++ 11 говорится о том, что должно произойти, если системные часы настроены так, что точка времени, прошедшая до sleep_until()
, теперь в прошлом, но я не вижу нигде, которая обращается к случаю, когда указанный момент времени уже в прошлом.Является ли поведение корректным, когда `sleep_until()` указывает время в прошлом?
Я просто что-то пропустил, или это действительно не указано - даже как UB или реализация?
Аналогичный вопрос возникает, если sleep_for()
вызывается с отрицательной продолжительностью.
Это не конкретный случай кодирования или проблема, которую вы здесь адресуете. Это скорее дискуссия – Rockbar
@ Rockbar: Это чрезвычайно конкретный вопрос и совершенно корректный вопрос. –
Как я помню, спецификация предоставляет разные часы. Некоторые из них гарантированно сильно монотонно увеличиваются (не прыгают назад), другие - нет. –