diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/time/clock.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/src/time/clock.c b/src/time/clock.c index 2feddb36..e6e9e776 100644 --- a/src/time/clock.c +++ b/src/time/clock.c @@ -1,9 +1,14 @@  #include <time.h>  #include <sys/times.h> -/* this function assumes 100 hz linux and corrects for it */ +int __clock_gettime(clockid_t, struct timespec *); +  clock_t clock()  { +	struct timespec ts;  	struct tms tms; -	return (unsigned long)times(&tms)*10000; +	if (!__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts)) +		return ts.tv_sec*1000000 + ts.tv_nsec/1000; +	__syscall(SYS_times, &tms); +	return (tms.tms_utime + tms.tms_stime)*100;  } | 
