Mercurial > hg > nginx
diff src/core/ngx_cycle.c @ 593:425af804d968 release-0.3.18
nginx-0.3.18-RELEASE import
*) Feature: the "server_names" directive supports the ".domain.tld"
names.
*) Feature: the "server_names" directive uses the hash for the
"*.domain.tld" names and more effective hash for usual names.
*) Change: the "server_names_hash_max_size" and
"server_names_hash_bucket_size" directives.
*) Change: the "server_names_hash" and "server_names_hash_threshold"
directives were canceled.
*) Feature: the "valid_referers" directive uses the hash site names.
*) Change: now the "valid_referers" directive checks the site names
only without the URI part.
*) Bugfix: some ".domain.tld" names incorrectly processed by the
ngx_http_map_module.
*) Bugfix: segmentation fault was occurred if configuration file did
not exist; the bug had appeared in 0.3.12.
*) Bugfix: on 64-bit platforms segmentation fault may occurred on
start; the bug had appeared in 0.3.16.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 26 Dec 2005 17:07:48 +0000 |
parents | 4d9ea73a627a |
children | 5dac8c7fb71b |
line wrap: on
line diff
--- a/src/core/ngx_cycle.c Sun Dec 18 16:02:44 2005 +0000 +++ b/src/core/ngx_cycle.c Mon Dec 26 17:07:48 2005 +0000 @@ -162,6 +162,12 @@ return NULL; } + conf.temp_pool = ngx_create_pool(NGX_CYCLE_POOL_SIZE, log); + if (conf.temp_pool == NULL) { + ngx_destroy_pool(pool); + return NULL; + } + conf.ctx = cycle->conf_ctx; conf.cycle = cycle; conf.pool = pool; @@ -174,6 +180,7 @@ #endif if (ngx_conf_parse(&conf, &cycle->conf_file) != NGX_CONF_OK) { + ngx_destroy_pool(conf.temp_pool); ngx_destroy_pool(pool); return NULL; } @@ -194,8 +201,9 @@ if (module->init_conf) { if (module->init_conf(cycle, cycle->conf_ctx[ngx_modules[i]->index]) - == NGX_CONF_ERROR) + == NGX_CONF_ERROR) { + ngx_destroy_pool(conf.temp_pool); ngx_destroy_pool(pool); return NULL; } @@ -421,6 +429,7 @@ } if (ngx_test_config) { + ngx_destroy_pool(conf.temp_pool); ngx_destroy_pool(pool); return NULL; } @@ -438,6 +447,7 @@ } } + ngx_destroy_pool(conf.temp_pool); ngx_destroy_pool(pool); return NULL; } @@ -521,6 +531,8 @@ } } + ngx_destroy_pool(conf.temp_pool); + if (old_cycle->connections == NULL) { /* an old cycle is an init cycle */ ngx_destroy_pool(old_cycle->pool);