From ce00a8af50035f3db13f1795061d55e943f2e969 Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Fri, 22 Mar 2013 13:17:18 +0100 Subject: [PATCH 1/1] Fix the call to clock_nanosleep(): we use a relative delay --- fps-limit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fps-limit.c b/fps-limit.c index 746c957..7759349 100644 --- a/fps-limit.c +++ b/fps-limit.c @@ -68,9 +68,10 @@ int main(void) timespecsub(&time_end, &time_start, &elapsed); dbg("Elapsed s: %ld ns: %ld", elapsed.tv_sec, elapsed.tv_nsec); if (elapsed.tv_sec == 0 && elapsed.tv_nsec < NSEC_PER_SEC / FPS) { + /* remaining delay, _relative_ to time_end */ remaining.tv_nsec = (NSEC_PER_SEC / FPS) - elapsed.tv_nsec; dbg("Sleeping for: ns: %ld", remaining.tv_nsec); - clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &remaining, NULL); + clock_nanosleep(CLOCK_MONOTONIC, 0, &remaining, NULL); } } -- 2.1.4