diff options
author | Igor Sysoev <igor@sysoev.ru> | 2003-11-11 18:13:43 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2003-11-11 18:13:43 +0000 |
commit | 27c30f9919ed695ab718c3365a445d47a14fd80f (patch) | |
tree | b8bd50e2fcecf477f1bb05d61fc7626c06a4442b /src/event/modules/ngx_iocp_module.c | |
parent | d59a047a7070dc6af13b2e35c097efccc8ce38d0 (diff) | |
download | nginx-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.c | 17 |
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) { |