Linux clock_gettime(CLOCK_MONOTONIC) bizarre non monotone comportement

Les gens, dans mon application j'utilise clock_gettime(CLOCK_MONOTONIC) afin de mesurer la différence de temps entre les trames (une approche typique de gamedev) et de temps en temps, je suis confronté à un étrange comportement de clock_gettime(..) - valeurs renvoyées parfois ne sont pas monotone (j'.e prev. temps est plus grand que l'heure actuelle).

Actuellement, si un tel paradoxe qui se passe j'ai tout simplement ignorer l'image en cours et commencer le traitement de la suivante.

La question est de savoir comment cela peut-il être possible? Est-ce un bug sous Linux, POSIX mise en œuvre de clock_gettime? Je suis sous Ubuntu Server Edition 10.04 (noyau 2.6.32-24, x86_64), gcc-4.4.3.

Êtes-vous de l'exécuter dans un environnement virtualisé, par hasard?
Nope, pas de virtualisation impliqués

OriginalL'auteur pachanga | 2010-09-07