X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Ftime%2Fclock.c;h=d32cd09249abe8c9602a87e2bde31f630020fe14;hp=2feddb366d09bb1806e4e42c45b07633967225d9;hb=a6752eb940b154c9884c7522ef67ffc1a76770b5;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01 diff --git a/src/time/clock.c b/src/time/clock.c index 2feddb36..d32cd092 100644 --- a/src/time/clock.c +++ b/src/time/clock.c @@ -1,9 +1,15 @@ #include #include +#include "syscall.h" + +int __clock_gettime(clockid_t, struct timespec *); -/* this function assumes 100 hz linux and corrects for it */ 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; }