aboutsummaryrefslogtreecommitdiff
path: root/src/event
diff options
context:
space:
mode:
Diffstat (limited to 'src/event')
-rw-r--r--src/event/modules/ngx_devpoll_module.c8
-rw-r--r--src/event/modules/ngx_iocp_module.c2
-rw-r--r--src/event/modules/ngx_kqueue_module.c22
-rw-r--r--src/event/modules/ngx_poll_module.c2
-rw-r--r--src/event/modules/ngx_select_module.c2
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);