diff options
Diffstat (limited to 'src/event')
-rw-r--r-- | src/event/modules/ngx_devpoll_module.c | 8 | ||||
-rw-r--r-- | src/event/modules/ngx_iocp_module.c | 2 | ||||
-rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 22 | ||||
-rw-r--r-- | src/event/modules/ngx_poll_module.c | 2 | ||||
-rw-r--r-- | src/event/modules/ngx_select_module.c | 2 |
5 files changed, 29 insertions, 7 deletions
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c index d652ac297..9bc743426 100644 --- a/src/event/modules/ngx_devpoll_module.c +++ b/src/event/modules/ngx_devpoll_module.c @@ -366,8 +366,14 @@ int ngx_devpoll_process_events(ngx_log_t *log) nchanges = 0; + gettimeofday(&tv, NULL); + + if (ngx_cached_time != tv.tv_sec) { + ngx_cached_time = tv.tv_sec; + ngx_time_update(); + } + if ((int) timer != INFTIM) { - gettimeofday(&tv, NULL); delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; #if (NGX_DEBUG_EVENT) diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c index 86d763b71..0a5ac5bd7 100644 --- a/src/event/modules/ngx_iocp_module.c +++ b/src/event/modules/ngx_iocp_module.c @@ -189,6 +189,8 @@ static int ngx_iocp_process_events(ngx_log_t *log) err = 0; } + /* TODO: timer */ + if (timer != INFINITE) { delta = ngx_msec() - delta; ngx_event_expire_timers(delta); diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index c896a8380..831bc7720 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2002-2003 Igor Sysoev, http://sysoev.ru + * Copyright (C) 2002-2003 Igor Sysoev, http://sysoev.ru/en/ */ @@ -347,16 +347,24 @@ static int ngx_kqueue_process_events(ngx_log_t *log) nchanges = 0; + gettimeofday(&tv, NULL); + + if (ngx_cached_time != tv.tv_sec) { + ngx_cached_time = tv.tv_sec; + ngx_time_update(); + } + if (timer) { - gettimeofday(&tv, NULL); delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; #if (NGX_DEBUG_EVENT) ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ delta); #endif - /* The expired timers must be handled before a processing of the events - because the new timers can be added during a processing */ + /* + * The expired timers must be handled before a processing of the events + * because the new timers can be added during a processing + */ ngx_event_expire_timers(delta); @@ -413,8 +421,10 @@ static int ngx_kqueue_process_events(ngx_log_t *log) instance = (uintptr_t) ev & 1; ev = (void *) ((uintptr_t) ev & ~1); - /* It's a stale event from a file descriptor - that was just closed in this iteration */ + /* + * it's a stale event from a file descriptor + * that was just closed in this iteration + */ if (ev->active == 0 || ev->instance != instance) { ngx_log_debug(log, "stale kevent"); diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index 9d2f8aca3..34f2b1191 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -259,6 +259,8 @@ static int ngx_poll_process_events(ngx_log_t *log) ngx_log_debug(log, "poll ready %d" _ ready); + /* TODO: time */ + if ((int) timer != INFTIM) { delta = ngx_msec() - delta; diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c index 792476669..082c0e335 100644 --- a/src/event/modules/ngx_select_module.c +++ b/src/event/modules/ngx_select_module.c @@ -314,6 +314,8 @@ static int ngx_select_process_events(ngx_log_t *log) ngx_log_debug(log, "select ready %d" _ ready); #endif + /* TODO: time */ + if (timer) { #if (HAVE_SELECT_CHANGE_TIMEOUT) delta = timer - (tv.tv_sec * 1000 + tv.tv_usec / 1000); |