From e2c5aceec45f3987713967738e000a7579869eb8 Mon Sep 17 00:00:00 2001 From: Christian Thaeter Date: Mon, 18 Jan 2010 18:45:02 +0100 Subject: [PATCH] FIX: off by one error in time normalization "The value of the nanoseconds field must be in the range 0 to 999999999." --- src/backend/threads.c | 2 +- src/lib/sync.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/threads.c b/src/backend/threads.c index ded04a60e..dfbcdadfe 100644 --- a/src/backend/threads.c +++ b/src/backend/threads.c @@ -257,7 +257,7 @@ lumiera_thread_deadline_extend (unsigned ms) clock_gettime (CLOCK_REALTIME, &deadline); deadline.tv_sec += ms / 1000; deadline.tv_nsec += 1000000 * (ms % 1000); - if (deadline.tv_nsec > 1000000000) + if (deadline.tv_nsec >= 1000000000) { deadline.tv_sec += (deadline.tv_nsec / 1000000000); deadline.tv_nsec %= 1000000000; diff --git a/src/lib/sync.hpp b/src/lib/sync.hpp index 6cd0cd294..1d40cf96f 100644 --- a/src/lib/sync.hpp +++ b/src/lib/sync.hpp @@ -344,7 +344,7 @@ namespace lib { clock_gettime(CLOCK_REALTIME, this); tv_sec += offs / 1000; tv_nsec += 1000000 * (offs % 1000); - if (tv_nsec > 1000000000) + if (tv_nsec >= 1000000000) { tv_sec += tv_nsec / 1000000000; tv_nsec %= 1000000000;