comparison src/core/ngx_cycle.c @ 528:005a70f9573b NGINX_0_8_16

nginx 0.8.16 *) Feature: the "image_filter_transparency" directive. *) Bugfix: "addition_types" directive was incorrectly named "addtion_types". *) Bugfix: resolver cache poisoning. Thanks to Matthew Dempsky. *) Bugfix: memory leak in resolver. Thanks to Matthew Dempsky. *) Bugfix: invalid request line in $request variable was written in access_log only if error_log was set to "info" or "debug" level. *) Bugfix: in PNG alpha-channel support in the ngx_http_image_filter_module. *) Bugfix: nginx always added "Vary: Accept-Encoding" response header line, if both "gzip_static" and "gzip_vary" were on. *) Bugfix: in UTF-8 encoding support by "try_files" directive in nginx/Windows. *) Bugfix: in "post_action" directive usage; the bug had appeared in 0.8.11. Thanks to Igor Artemiev.
author Igor Sysoev <http://sysoev.ru>
date Tue, 22 Sep 2009 00:00:00 +0400
parents 207ae3ff0444
children 1dcf6adad484
comparison
equal deleted inserted replaced
527:a607f3a5aefe 528:005a70f9573b
253 #if 0 253 #if 0
254 log->log_level = NGX_LOG_DEBUG_ALL; 254 log->log_level = NGX_LOG_DEBUG_ALL;
255 #endif 255 #endif
256 256
257 if (ngx_conf_param(&conf) != NGX_CONF_OK) { 257 if (ngx_conf_param(&conf) != NGX_CONF_OK) {
258 environ = senv;
258 ngx_destroy_cycle_pools(&conf); 259 ngx_destroy_cycle_pools(&conf);
259 return NULL; 260 return NULL;
260 } 261 }
261 262
262 if (ngx_conf_parse(&conf, &cycle->conf_file) != NGX_CONF_OK) { 263 if (ngx_conf_parse(&conf, &cycle->conf_file) != NGX_CONF_OK) {
264 environ = senv;
263 ngx_destroy_cycle_pools(&conf); 265 ngx_destroy_cycle_pools(&conf);
264 return NULL; 266 return NULL;
265 } 267 }
266 268
267 if (ngx_test_config) { 269 if (ngx_test_config) {
278 280
279 if (module->init_conf) { 281 if (module->init_conf) {
280 if (module->init_conf(cycle, cycle->conf_ctx[ngx_modules[i]->index]) 282 if (module->init_conf(cycle, cycle->conf_ctx[ngx_modules[i]->index])
281 == NGX_CONF_ERROR) 283 == NGX_CONF_ERROR)
282 { 284 {
285 environ = senv;
283 ngx_destroy_cycle_pools(&conf); 286 ngx_destroy_cycle_pools(&conf);
284 return NULL; 287 return NULL;
285 } 288 }
286 } 289 }
287 } 290 }
696 ngx_destroy_pool(conf.temp_pool); 699 ngx_destroy_pool(conf.temp_pool);
697 700
698 if (ngx_process == NGX_PROCESS_MASTER || ngx_is_init_cycle(old_cycle)) { 701 if (ngx_process == NGX_PROCESS_MASTER || ngx_is_init_cycle(old_cycle)) {
699 702
700 /* 703 /*
701 * perl_destruct() frees environ if it is not the same as it was at 704 * perl_destruct() frees environ, if it is not the same as it was at
702 * perl_construct() time. So we have saved an previous cycle 705 * perl_construct() time, therefore we save the previous cycle
703 * environment before ngx_conf_parse() where it will be changed. 706 * environment before ngx_conf_parse() where it will be changed.
704 */ 707 */
705 708
706 env = environ; 709 env = environ;
707 environ = senv; 710 environ = senv;