nginx-0.0.1-2003-11-11-00:09:22 import
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c
index d652ac2..9bc7434 100644
--- a/src/event/modules/ngx_devpoll_module.c
+++ b/src/event/modules/ngx_devpoll_module.c
@@ -366,8 +366,14 @@
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 86d763b..0a5ac5b 100644
--- a/src/event/modules/ngx_iocp_module.c
+++ b/src/event/modules/ngx_iocp_module.c
@@ -189,6 +189,8 @@
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 c896a83..831bc77 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 @@
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 @@
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 9d2f8ac..34f2b11 100644
--- a/src/event/modules/ngx_poll_module.c
+++ b/src/event/modules/ngx_poll_module.c
@@ -259,6 +259,8 @@
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 7924766..082c0e3 100644
--- a/src/event/modules/ngx_select_module.c
+++ b/src/event/modules/ngx_select_module.c
@@ -314,6 +314,8 @@
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);