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) {