X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2Fposix%2FGetTime.c;h=0e591ef5517ed1516b0980a5b163f6702724f76a;hp=89d83a31cb35102a701f3519260daaa7fa4c990b;hb=186a80cbcfbe0490ddd153e5f75faac23f4e5021;hpb=917c16c4f408b2b463f9834d2f0f937a4862c046 diff --git a/rts/posix/GetTime.c b/rts/posix/GetTime.c index 89d83a3..0e591ef 100644 --- a/rts/posix/GetTime.c +++ b/rts/posix/GetTime.c @@ -44,7 +44,7 @@ Ticks getProcessCPUTime(void) { struct rusage t; getrusage(RUSAGE_SELF, &t); - return (t.ru_utime.tv_sec * TICKS_PER_SECOND + + return ((Ticks)t.ru_utime.tv_sec * TICKS_PER_SECOND + ((Ticks)t.ru_utime.tv_usec * TICKS_PER_SECOND)/1000000); } @@ -52,7 +52,7 @@ Ticks getProcessElapsedTime(void) { struct timeval tv; gettimeofday(&tv, (struct timezone *) NULL); - return (tv.tv_sec * TICKS_PER_SECOND + + return ((Ticks)tv.tv_sec * TICKS_PER_SECOND + ((Ticks)tv.tv_usec * TICKS_PER_SECOND)/1000000); } @@ -120,7 +120,7 @@ Ticks getThreadCPUTime(void) // reliable on Linux, but it's the best we have. struct timespec ts; clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); - return (ts.tv_sec * TICKS_PER_SECOND + + return ((Ticks)ts.tv_sec * TICKS_PER_SECOND + ((Ticks)ts.tv_nsec * TICKS_PER_SECOND) / 1000000000); #else return getProcessCPUTime();