浏览代码

evtimer_gettime was broken on MacOs.

master
Richard Nyberg 15 年前
父节点
当前提交
9f4d2b0662
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. +7
    -4
      evloop/timer.c

+ 7
- 4
evloop/timer.c 查看文件

@@ -25,12 +25,15 @@ int
evtimer_gettime(struct timespec *ts)
{
uint64_t nsecs;
static double nsmul;
static mach_timebase_info_data_t nsratio = { 0, 0 };
if (nsratio.denom == 0)
if (nsratio.denom == 0) {
mach_timebase_info(&nsratio);
nsecs = mach_absolute_time() * nsratio.numer / nsratio.denom;
ts->tv_sec = nsecs / 1000000000;
ts->tv_nsec = nsecs - ts->tv_sec * 1000000000;
nsmul = (double)nsratio.numer / nsratio.denom;
}
nsecs = mach_absolute_time() * nsmul;
ts->tv_sec = nsecs / 1000000000ULL;
ts->tv_nsec = nsecs - ts->tv_sec * 1000000000ULL;
return 0;
}



正在加载...
取消
保存