From e3eb49321c85e43fcc6842f3f57ee097b32555e4 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 23 Jul 2011 23:45:33 -0400 Subject: some preliminaries for vdso clock support these changes also make it so clock_gettime(CLOCK_REALTIME, &ts) works even on pre-2.6 kernels, emulated via the gettimeofday syscall. there is no cost for the fallback check, as it falls under the error case that already must be checked for storing the error code in errno, but which would normally be hidden inside __syscall_ret. --- src/time/time.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/time/time.c') diff --git a/src/time/time.c b/src/time/time.c index 05e075b9..22754850 100644 --- a/src/time/time.c +++ b/src/time/time.c @@ -2,10 +2,12 @@ #include #include "syscall.h" +int __clock_gettime(clockid_t, struct timespec *); + time_t time(time_t *t) { - struct timeval tv; - __syscall(SYS_gettimeofday, &tv, 0); - if (t) *t = tv.tv_sec; - return tv.tv_sec; + struct timespec ts; + __clock_gettime(CLOCK_REALTIME, &ts); + if (t) *t = ts.tv_sec; + return ts.tv_sec; } -- cgit v1.2.1