From 3e195be39157284a7f05b23a8a635adf26c10ee4 Mon Sep 17 00:00:00 2001 From: Charles McGarvey Date: Sat, 25 Jul 2009 20:11:36 -0600 Subject: [PATCH] the posix timer is now accessible again --- configure.ac | 6 +++--- src/timer.cc | 19 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index c5ac1f0..7b40bb3 100644 --- a/configure.ac +++ b/configure.ac @@ -102,8 +102,8 @@ AC_SEARCH_LIBS([glBegin], [GL],, [AC_MSG_ERROR([libGL is required])]) AC_SEARCH_LIBS([clock_gettime], [rt], - [AC_DEFINE([HAVE_LIBRT], 1, - [Define to 1 if you have the 'rt' library.])]) + [AC_DEFINE([HAVE_CLOCK_GETTIME], 1, + [Define to 1 if you have the 'clock_gettime' function.])]) # @@ -135,7 +135,7 @@ AC_TYPE_SSIZE_T AC_FUNC_ERROR_AT_LINE AC_FUNC_STRTOD -AC_CHECK_FUNCS([strchr strcspn strrchr strstr]) +AC_CHECK_FUNCS([nanosleep strchr strcspn strrchr strstr]) # diff --git a/src/timer.cc b/src/timer.cc index de601ee..d73d94f 100644 --- a/src/timer.cc +++ b/src/timer.cc @@ -30,20 +30,24 @@ #include #include +#if HAVE_CONFIG_H +#include "config.h" +#endif + #include "timer.hh" namespace dc { -#if HAVE_LIBRT +#if HAVE_CLOCK_GETTIME // Since the monotonic clock will provide us with the timer since the computer // started, the number of seconds since that time could easily become so large // that it cannot be accurately stored in a float (even with as little two days -// update), therefore we need to start from a more recent reference (when the +// uptime), therefore we need to start from a more recent reference (when the // program starts). Of course this isn't much of an issue if scalar is a -// double-precious number. +// double-precision number. static time_t setReference() { @@ -73,11 +77,12 @@ scalar ticks() } -#else // ! HAVE_LIBRT +#else // ! HAVE_CLOCK_GETTIME -// If we don't have librt, we'll have to use a different timing method. SDL -// only promises centisecond accuracy, but it may be better than nothing. +// If we don't have posix timers, we'll have to use a different timing method. +// SDL only promises centisecond accuracy, but that's better than a kick in the +// butt. #include @@ -88,7 +93,7 @@ scalar ticks() } -#endif // HAVE_LIBRT +#endif // HAVE_CLOCK_GETTIME void sleep(scalar seconds, bool absolute) -- 2.45.2