diff --git a/src/ev_epoll.c b/src/ev_epoll.c index 679e5e873..c42cf2ea5 100644 --- a/src/ev_epoll.c +++ b/src/ev_epoll.c @@ -230,7 +230,7 @@ static void _do_poll(struct poller *p, int exp, int wake) int timeout = (global.tune.options & GTUNE_BUSY_POLLING) ? 0 : wait_time; status = epoll_wait(epoll_fd[tid], epoll_events, global.tune.maxpollevents, timeout); - clock_update_date(timeout, status); + clock_update_local_date(timeout, status); if (status) { activity[tid].poll_io++; @@ -242,6 +242,7 @@ static void _do_poll(struct poller *p, int exp, int wake) break; } while (1); + clock_update_global_date(); fd_leaving_poll(wait_time, status); /* process polled events */ diff --git a/src/ev_evports.c b/src/ev_evports.c index 38fd18379..07676e65a 100644 --- a/src/ev_evports.c +++ b/src/ev_evports.c @@ -211,7 +211,7 @@ static void _do_poll(struct poller *p, int exp, int wake) break; } } - clock_update_date(timeout, nevlist); + clock_update_local_date(timeout, nevlist); if (nevlist || interrupted) break; @@ -221,6 +221,7 @@ static void _do_poll(struct poller *p, int exp, int wake) break; } while(1); + clock_update_global_date(); fd_leaving_poll(wait_time, nevlist); if (nevlist > 0) diff --git a/src/ev_kqueue.c b/src/ev_kqueue.c index e80976202..f123e7be2 100644 --- a/src/ev_kqueue.c +++ b/src/ev_kqueue.c @@ -183,7 +183,7 @@ static void _do_poll(struct poller *p, int exp, int wake) kev, // struct kevent *eventlist fd, // int nevents &timeout_ts); // const struct timespec *timeout - clock_update_date(timeout, status); + clock_update_local_date(timeout, status); if (status) { activity[tid].poll_io++; @@ -195,6 +195,7 @@ static void _do_poll(struct poller *p, int exp, int wake) break; } while (1); + clock_update_global_date(); fd_leaving_poll(wait_time, status); for (count = 0; count < status; count++) {