瀏覽代碼

Run timeouts that will expire in less than one millisecond.

The timeouts for poll and epoll are given in milliseconds,
which caused busy looping in the event loop for timeouts
with less time remaining.
master
Richard Nyberg 16 年之前
父節點
當前提交
4539bc6fae
共有 1 個檔案被更改,包括 1 行新增1 行删除
  1. +1
    -1
      evloop/timer.c

+ 1
- 1
evloop/timer.c 查看文件

@@ -106,7 +106,7 @@ evtimers_run(void)
evtimer_gettime(&now);
while (timeheap_size() > 0) {
struct timespec diff = subtime(timeheap_top(), now);
if (diff.tv_sec < 0) {
if (diff.tv_sec < 0 || (diff.tv_sec == 0 && diff.tv_nsec < 1000000)) {
struct timeout *t = timeheap_remove_top();
t->th.i = -1;
t->cb(-1, EV_TIMEOUT, t->arg);


Loading…
取消
儲存