From af7147ea732912655271b43c517524835cbbcd74 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Wed, 7 Jan 2009 01:09:10 +0000 Subject: merge revision(s) 18355: * eval.c (timeofday): use monotonic clock. based on a patch from zimbatm in [ruby-core:16627]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@21357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ configure.in | 1 + eval.c | 9 +++++++++ version.h | 8 ++++---- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bdb047a506..8df88b75ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 7 10:06:12 2009 Nobuyoshi Nakada + + * eval.c (timeofday): use monotonic clock. based on a patch + from zimbatm in [ruby-core:16627]. + Tue Jan 6 09:02:14 2009 Nobuyoshi Nakada * parse.y (yylex): 8 and 9 in octal integer should cause compile diff --git a/configure.in b/configure.in index c7758620f7..136fe7c661 100644 --- a/configure.in +++ b/configure.in @@ -472,6 +472,7 @@ esac AC_CHECK_LIB(crypt, crypt) AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX +AC_CHECK_LIB(rt, clock_gettime) # GNU/Linux case "$target_cpu" in alpha*) case "$target_os"::"$GCC" in diff --git a/eval.c b/eval.c index 2938c70acd..b176b885ec 100644 --- a/eval.c +++ b/eval.c @@ -72,6 +72,8 @@ char *strrchr _((const char*,const char)); #include #endif +#include + #ifdef __BEOS__ #include #endif @@ -10080,6 +10082,13 @@ static double timeofday() { struct timeval tv; +#ifdef CLOCK_MONOTONIC + struct timespec tp; + + if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) { + return (double)tp.tv_sec + (double)tp.tv_nsec * 1e-9; + } +#endif gettimeofday(&tv, NULL); return (double)tv.tv_sec + (double)tv.tv_usec * 1e-6; } diff --git a/version.h b/version.h index 526e928382..c7fed18897 100644 --- a/version.h +++ b/version.h @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.6" -#define RUBY_RELEASE_DATE "2009-01-06" +#define RUBY_RELEASE_DATE "2009-01-07" #define RUBY_VERSION_CODE 186 -#define RUBY_RELEASE_CODE 20090106 -#define RUBY_PATCHLEVEL 291 +#define RUBY_RELEASE_CODE 20090107 +#define RUBY_PATCHLEVEL 292 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 6 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 1 -#define RUBY_RELEASE_DAY 6 +#define RUBY_RELEASE_DAY 7 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- cgit v1.2.3