В моем приложении я использую clock_gettime(CLOCK_MONOTONIC) для измерения дельта-времени между кадрами (типичный подход в гамедеве), и время от времени я сталкиваюсь с странным поведением clock_gettime(..) - возвращаемых значений иногда не монотонны (т.е. время больше, чем текущее время).
В настоящее время, если такой парадокс случается, я просто пропускаю текущий кадр и начинаю обрабатывать следующий.
Вопрос в том, как это вообще возможно? Является ли это ошибкой в реализации Linux POSIX clock_gettime? Я использую Ubuntu Server Edition 10.04 (ядро 2.6.32-24, x86_64), gcc-4.4.3.