Mercurial > hg > nginx-vendor-current
comparison src/event/modules/ngx_poll_module.c @ 48:6cfc63e68377 NGINX_0_1_24
nginx 0.1.24
*) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING
and DOCUMENT_URI variables.
*) Bugfix: the ngx_http_autoindex_module may some times return the 404
response for existent directory, if this directory was used in
"alias" directive.
*) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large
responses.
*) Bugfix: the lack of the "Referer" header line was always accounted
as valid referrer.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 04 Mar 2005 00:00:00 +0300 |
parents | da8c190bdaba |
children | 72eb30262aac |
comparison
equal
deleted
inserted
replaced
47:4ae32548452c | 48:6cfc63e68377 |
---|---|
58 NULL /* init process */ | 58 NULL /* init process */ |
59 }; | 59 }; |
60 | 60 |
61 | 61 |
62 | 62 |
63 static ngx_int_t ngx_poll_init(ngx_cycle_t *cycle) | 63 static ngx_int_t |
64 ngx_poll_init(ngx_cycle_t *cycle) | |
64 { | 65 { |
65 struct pollfd *list; | 66 struct pollfd *list; |
66 | 67 |
67 if (event_list == NULL) { | 68 if (event_list == NULL) { |
68 nevents = 0; | 69 nevents = 0; |
104 | 105 |
105 return NGX_OK; | 106 return NGX_OK; |
106 } | 107 } |
107 | 108 |
108 | 109 |
109 static void ngx_poll_done(ngx_cycle_t *cycle) | 110 static void |
111 ngx_poll_done(ngx_cycle_t *cycle) | |
110 { | 112 { |
111 ngx_free(event_list); | 113 ngx_free(event_list); |
112 #if 0 | 114 #if 0 |
113 ngx_free(ready_index); | 115 ngx_free(ready_index); |
114 #endif | 116 #endif |
118 ready_index = NULL; | 120 ready_index = NULL; |
119 #endif | 121 #endif |
120 } | 122 } |
121 | 123 |
122 | 124 |
123 static ngx_int_t ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags) | 125 static ngx_int_t |
126 ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags) | |
124 { | 127 { |
125 ngx_event_t *e; | 128 ngx_event_t *e; |
126 ngx_connection_t *c; | 129 ngx_connection_t *c; |
127 | 130 |
128 c = ev->data; | 131 c = ev->data; |
171 | 174 |
172 return NGX_OK; | 175 return NGX_OK; |
173 } | 176 } |
174 | 177 |
175 | 178 |
176 static ngx_int_t ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags) | 179 static ngx_int_t |
180 ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags) | |
177 { | 181 { |
178 ngx_uint_t i; | 182 ngx_uint_t i; |
179 ngx_cycle_t **cycle; | 183 ngx_cycle_t **cycle; |
180 ngx_event_t *e; | 184 ngx_event_t *e; |
181 ngx_connection_t *c; | 185 ngx_connection_t *c; |
258 | 262 |
259 return NGX_OK; | 263 return NGX_OK; |
260 } | 264 } |
261 | 265 |
262 | 266 |
263 static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) | 267 static ngx_int_t |
268 ngx_poll_process_events(ngx_cycle_t *cycle) | |
264 { | 269 { |
265 int ready, revents; | 270 int ready, revents; |
266 ngx_int_t i, nready; | 271 ngx_int_t i, nready; |
267 ngx_uint_t n, found, lock, expire; | 272 ngx_uint_t n, found, lock, expire; |
268 ngx_msec_t timer; | 273 ngx_msec_t timer; |
588 | 593 |
589 return nready; | 594 return nready; |
590 } | 595 } |
591 | 596 |
592 | 597 |
593 static char *ngx_poll_init_conf(ngx_cycle_t *cycle, void *conf) | 598 static char * |
599 ngx_poll_init_conf(ngx_cycle_t *cycle, void *conf) | |
594 { | 600 { |
595 ngx_event_conf_t *ecf; | 601 ngx_event_conf_t *ecf; |
596 | 602 |
597 ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); | 603 ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); |
598 | 604 |