diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-07 01:09:10 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-07 01:09:10 +0000 |
commit | af7147ea732912655271b43c517524835cbbcd74 (patch) | |
tree | 6363a569b72a80f7f34fb47b5d144b0ce9b54b6d /eval.c | |
parent | 73a8afe6743dcdb6fadbc03cbef5ff99131bcba2 (diff) |
merge revision(s) 18355:
* eval.c (timeofday): use monotonic clock. based on a patch
from zimbatm <zimbatm@oree.ch> 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
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -72,6 +72,8 @@ char *strrchr _((const char*,const char)); #include <unistd.h> #endif +#include <time.h> + #ifdef __BEOS__ #include <net/socket.h> #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; } |