浏览代码

fix incorrect clock tick scaling in fallback case of clock()

since CLOCKS_PER_SEC is 1000000 (required by XSI) and the times
syscall reports values in 1/100 second units (Linux), the correct
scaling factor is 10000, not 100. note that only ancient kernels which
lack clock_gettime are affected.
Rich Felker 12 年之前
父节点
当前提交
da49b872f5
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/time/clock.c

+ 1 - 1
src/time/clock.c

@@ -11,5 +11,5 @@ clock_t clock()
 	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;
+	return (tms.tms_utime + tms.tms_stime)*10000;
 }