comparison src/event/modules/ngx_poll_module.c @ 50:72eb30262aac NGINX_0_1_25

nginx 0.1.25 *) Bugfix: nginx did run on Linux parisc. *) Feature: nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn value is too big. *) Bugfix: if a request was internally redirected by the ngx_http_index_module module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, then the index file was not closed after request completion. *) Feature: the "proxy_pass" can be used in location with regular expression. *) Feature: the ngx_http_rewrite_filter_module module supports the condition like "if ($HTTP_USER_AGENT ~ MSIE)". *) Bugfix: nginx started too slow if the large number of addresses and text values were used in the "geo" directive. *) Change: a variable name must be declared as "$name" in the "geo" directive. The previous variant without "$" is still supported, but will be removed soon. *) Feature: the "%{VARIABLE}v" logging parameter. *) Feature: the "set $name value" directive. *) Bugfix: gcc 4.0 compatibility. *) Feature: the --with-openssl-opt=OPTIONS autoconfiguration directive.
author Igor Sysoev <http://sysoev.ru>
date Sat, 19 Mar 2005 00:00:00 +0300
parents 6cfc63e68377
children b55cbf18157e
comparison
equal deleted inserted replaced
49:93dabbc9efb9 50:72eb30262aac
71 71
72 if (ngx_process == NGX_PROCESS_WORKER 72 if (ngx_process == NGX_PROCESS_WORKER
73 || cycle->old_cycle == NULL 73 || cycle->old_cycle == NULL
74 || cycle->old_cycle->connection_n < cycle->connection_n) 74 || cycle->old_cycle->connection_n < cycle->connection_n)
75 { 75 {
76 ngx_test_null(list, 76 list = ngx_alloc(sizeof(struct pollfd) * cycle->connection_n,
77 ngx_alloc(sizeof(struct pollfd) * cycle->connection_n, 77 cycle->log);
78 cycle->log), 78 if (list == NULL) {
79 NGX_ERROR); 79 return NGX_ERROR;
80 }
80 81
81 if (event_list) { 82 if (event_list) {
82 ngx_memcpy(list, event_list, sizeof(ngx_event_t *) * nevents); 83 ngx_memcpy(list, event_list, sizeof(ngx_event_t *) * nevents);
83 ngx_free(event_list); 84 ngx_free(event_list);
84 } 85 }
88 #if 0 89 #if 0
89 if (ready_index) { 90 if (ready_index) {
90 ngx_free(ready_index); 91 ngx_free(ready_index);
91 } 92 }
92 93
93 ngx_test_null(ready_index, 94 ready_index = ngx_alloc(sizeof(ngx_event_t *) * 2 * cycle->connection_n,
94 ngx_alloc(sizeof(ngx_event_t *) * 2 * cycle->connection_n, 95 cycle->log);
95 cycle->log), 96 if (ready_index == NULL) {
96 NGX_ERROR); 97 return NGX_ERROR;
98 }
97 #endif 99 #endif
98 } 100 }
99 101
100 ngx_io = ngx_os_io; 102 ngx_io = ngx_os_io;
101 103