aboutsummaryrefslogtreecommitdiff
path: root/src/event/modules/ngx_iocp_module.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-11-11 18:13:43 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-11-11 18:13:43 +0000
commit27c30f9919ed695ab718c3365a445d47a14fd80f (patch)
treeb8bd50e2fcecf477f1bb05d61fc7626c06a4442b /src/event/modules/ngx_iocp_module.c
parentd59a047a7070dc6af13b2e35c097efccc8ce38d0 (diff)
downloadnginx-27c30f9919ed695ab718c3365a445d47a14fd80f.tar.gz
nginx-27c30f9919ed695ab718c3365a445d47a14fd80f.zip
nginx-0.0.1-2003-11-11-21:13:43 import
Diffstat (limited to 'src/event/modules/ngx_iocp_module.c')
-rw-r--r--src/event/modules/ngx_iocp_module.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c
index 0a5ac5bd7..99a1eee4e 100644
--- a/src/event/modules/ngx_iocp_module.c
+++ b/src/event/modules/ngx_iocp_module.c
@@ -162,14 +162,16 @@ static int ngx_iocp_process_events(ngx_log_t *log)
u_int key;
size_t bytes;
ngx_err_t err;
- ngx_msec_t timer, delta;
+ ngx_msec_t timer;
ngx_event_t *ev;
+ ngx_epoch_msec_t delta;
ngx_event_ovlp_t *ovlp;
timer = ngx_event_find_timer();
if (timer) {
- delta = ngx_msec();
+ ngx_gettimeofday(&tv);
+ delta = tv.tv_sec * 1000 + tv.tv_usec / 1000;
} else {
timer = INFINITE;
@@ -189,11 +191,16 @@ static int ngx_iocp_process_events(ngx_log_t *log)
err = 0;
}
- /* TODO: timer */
+ ngx_gettimeofday(&tv);
+
+ if (ngx_cached_time != tv.tv_sec) {
+ ngx_cached_time = tv.tv_sec;
+ ngx_time_update();
+ }
if (timer != INFINITE) {
- delta = ngx_msec() - delta;
- ngx_event_expire_timers(delta);
+ delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta;
+ ngx_event_expire_timers((ngx_msec_t) delta);
}
if (err) {