Mercurial > hg > nginx
comparison src/event/modules/ngx_select_module.c @ 38:2ffaa35fba42
nginx-0.0.1-2002-12-24-10:09:57 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 24 Dec 2002 07:09:57 +0000 |
parents | c14d7232b11f |
children | 83fa61cd3d2f |
comparison
equal
deleted
inserted
replaced
37:9fe40e51d4a3 | 38:2ffaa35fba42 |
---|---|
79 | 79 |
80 c = (ngx_connection_t *) ev->data; | 80 c = (ngx_connection_t *) ev->data; |
81 | 81 |
82 ngx_log_debug(ev->log, "select fd:%d event:%d" _ c->fd _ event); | 82 ngx_log_debug(ev->log, "select fd:%d event:%d" _ c->fd _ event); |
83 | 83 |
84 if (ev->index != NGX_INVALID_INDEX) { | |
85 ngx_log_error(NGX_LOG_ALERT, ev->log, 0, | |
86 "%d:%d is already set", c->fd, event); | |
87 return NGX_OK; | |
88 } | |
89 | |
84 #if (WIN32) | 90 #if (WIN32) |
85 if ((event == NGX_READ_EVENT) && (max_read >= FD_SETSIZE) | 91 if ((event == NGX_READ_EVENT) && (max_read >= FD_SETSIZE) |
86 || (event == NGX_WRITE_EVENT) && (max_write >= FD_SETSIZE)) | 92 || (event == NGX_WRITE_EVENT) && (max_write >= FD_SETSIZE)) |
87 { | 93 { |
88 ngx_log_error(NGX_LOG_ERR, ev->log, 0, | 94 ngx_log_error(NGX_LOG_ERR, ev->log, 0, |
200 #if 1 | 206 #if 1 |
201 /* DEBUG */ | 207 /* DEBUG */ |
202 for (i = 0; i < nevents; i++) { | 208 for (i = 0; i < nevents; i++) { |
203 ev = event_index[i]; | 209 ev = event_index[i]; |
204 c = (ngx_connection_t *) ev->data; | 210 c = (ngx_connection_t *) ev->data; |
205 ngx_log_debug(log, "select: %d" _ c->fd); | 211 ngx_log_debug(log, "select: %d:%d" _ c->fd _ ev->write); |
206 } | 212 } |
207 #endif | 213 #endif |
208 | 214 |
209 ngx_log_debug(log, "select timer: %d" _ timer); | 215 ngx_log_debug(log, "select timer: %d" _ timer); |
210 | 216 |
303 | 309 |
304 void ngx_select_add_timer(ngx_event_t *ev, ngx_msec_t timer) | 310 void ngx_select_add_timer(ngx_event_t *ev, ngx_msec_t timer) |
305 { | 311 { |
306 ngx_event_t *e; | 312 ngx_event_t *e; |
307 | 313 |
314 #if (NGX_DEBUG) | |
315 ngx_connection_t *c = (ngx_connection_t *) ev->data; | |
316 ngx_log_debug(ev->log, "set timer: %d:%d" _ c->fd _ timer); | |
317 #endif | |
318 ngx_assert((!ev->timer_next && !ev->timer_prev), return, ev->log, | |
319 "timer already set"); | |
320 | |
308 for (e = timer_queue.timer_next; | 321 for (e = timer_queue.timer_next; |
309 e != &timer_queue && timer > e->timer_delta; | 322 e != &timer_queue && timer > e->timer_delta; |
310 e = e->timer_next) | 323 e = e->timer_next) |
311 timer -= e->timer_delta; | 324 timer -= e->timer_delta; |
312 | 325 |