Mercurial > hg > nginx
comparison src/event/modules/ngx_iocp_module.c @ 179:9f3a78b06c48
nginx-0.0.1-2003-11-11-21:13:43 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 11 Nov 2003 18:13:43 +0000 |
parents | a8ff48d26cca |
children | 2d143372a1ee |
comparison
equal
deleted
inserted
replaced
178:a8ff48d26cca | 179:9f3a78b06c48 |
---|---|
160 { | 160 { |
161 int rc; | 161 int rc; |
162 u_int key; | 162 u_int key; |
163 size_t bytes; | 163 size_t bytes; |
164 ngx_err_t err; | 164 ngx_err_t err; |
165 ngx_msec_t timer, delta; | 165 ngx_msec_t timer; |
166 ngx_event_t *ev; | 166 ngx_event_t *ev; |
167 ngx_epoch_msec_t delta; | |
167 ngx_event_ovlp_t *ovlp; | 168 ngx_event_ovlp_t *ovlp; |
168 | 169 |
169 timer = ngx_event_find_timer(); | 170 timer = ngx_event_find_timer(); |
170 | 171 |
171 if (timer) { | 172 if (timer) { |
172 delta = ngx_msec(); | 173 ngx_gettimeofday(&tv); |
174 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; | |
173 | 175 |
174 } else { | 176 } else { |
175 timer = INFINITE; | 177 timer = INFINITE; |
176 delta = 0; | 178 delta = 0; |
177 } | 179 } |
187 err = ngx_errno; | 189 err = ngx_errno; |
188 } else { | 190 } else { |
189 err = 0; | 191 err = 0; |
190 } | 192 } |
191 | 193 |
192 /* TODO: timer */ | 194 ngx_gettimeofday(&tv); |
195 | |
196 if (ngx_cached_time != tv.tv_sec) { | |
197 ngx_cached_time = tv.tv_sec; | |
198 ngx_time_update(); | |
199 } | |
193 | 200 |
194 if (timer != INFINITE) { | 201 if (timer != INFINITE) { |
195 delta = ngx_msec() - delta; | 202 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; |
196 ngx_event_expire_timers(delta); | 203 ngx_event_expire_timers((ngx_msec_t) delta); |
197 } | 204 } |
198 | 205 |
199 if (err) { | 206 if (err) { |
200 if (ovlp == NULL) { | 207 if (ovlp == NULL) { |
201 if (err != WAIT_TIMEOUT) { | 208 if (err != WAIT_TIMEOUT) { |