time.c: use `clock_gettime()` if possible.

parent 0c631a4c
......@@ -21,6 +21,7 @@
#endif
#include <stdlib.h>
#include <unistd.h>
#define NDIV(x,y) (-(-((x)+1)/(y))-1)
#define TO_S_FMT "%Y-%m-%d %H:%M:%S "
......@@ -382,6 +383,13 @@ current_mrb_time(mrb_state *mrb)
sec = ts.tv_sec;
usec = ts.tv_nsec / 1000;
}
#elif (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) && defined(_POSIX_MONOTONIC_CLOCK)
{
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
sec = ts.tv_sec;
usec = ts.tv_nsec / 1000;
}
#elif defined(NO_GETTIMEOFDAY)
{
static time_t last_sec = 0, last_usec = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment