Mercurial > hg > nginx-vendor-1-0
comparison src/core/ngx_cycle.c @ 498:207ae3ff0444 NGINX_0_8_1
nginx 0.8.1
*) Feature: the "updating" parameter in "proxy_cache_use_stale" and
"fastcgi_cache_use_stale" directives.
*) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
header lines were passed to backend while caching if no
"proxy_set_header" directive was used with any parameters.
*) Bugfix: the "Set-Cookie" and "P3P" response header lines were not
hidden while caching if no "proxy_hide_header/fastcgi_hide_header"
directives were used with any parameters.
*) Bugfix: the ngx_http_image_filter_module did not support GIF87a
format.
Thanks to Denis Ilyinyh.
*) Bugfix: nginx could not be built modules on Solaris 10 and early;
the bug had appeared in 0.7.56.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 08 Jun 2009 00:00:00 +0400 |
parents | f39b9e29530d |
children | 005a70f9573b |
comparison
equal
deleted
inserted
replaced
497:77fae36a61b3 | 498:207ae3ff0444 |
---|---|
267 if (ngx_test_config) { | 267 if (ngx_test_config) { |
268 ngx_log_stderr(0, "the configuration file %s syntax is ok", | 268 ngx_log_stderr(0, "the configuration file %s syntax is ok", |
269 cycle->conf_file.data); | 269 cycle->conf_file.data); |
270 } | 270 } |
271 | 271 |
272 | |
273 for (i = 0; ngx_modules[i]; i++) { | 272 for (i = 0; ngx_modules[i]; i++) { |
274 if (ngx_modules[i]->type != NGX_CORE_MODULE) { | 273 if (ngx_modules[i]->type != NGX_CORE_MODULE) { |
275 continue; | 274 continue; |
276 } | 275 } |
277 | 276 |
285 return NULL; | 284 return NULL; |
286 } | 285 } |
287 } | 286 } |
288 } | 287 } |
289 | 288 |
289 if (ngx_process == NGX_PROCESS_SIGNALLER) { | |
290 return cycle; | |
291 } | |
290 | 292 |
291 ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); | 293 ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); |
292 | 294 |
293 if (ngx_test_config) { | 295 if (ngx_test_config) { |
294 | 296 |
562 } | 564 } |
563 #endif | 565 #endif |
564 } | 566 } |
565 } | 567 } |
566 | 568 |
567 if (ngx_process != NGX_PROCESS_SIGNALLER) { | 569 if (ngx_open_listening_sockets(cycle) != NGX_OK) { |
568 if (ngx_open_listening_sockets(cycle) != NGX_OK) { | 570 goto failed; |
569 goto failed; | 571 } |
570 } | 572 |
571 | 573 if (!ngx_test_config) { |
572 if (!ngx_test_config) { | 574 ngx_configure_listening_sockets(cycle); |
573 ngx_configure_listening_sockets(cycle); | |
574 } | |
575 } | 575 } |
576 | 576 |
577 | 577 |
578 /* commit the new cycle configuration */ | 578 /* commit the new cycle configuration */ |
579 | 579 |
651 | 651 |
652 /* close the unnecessary listening sockets */ | 652 /* close the unnecessary listening sockets */ |
653 | 653 |
654 ls = old_cycle->listening.elts; | 654 ls = old_cycle->listening.elts; |
655 for (i = 0; i < old_cycle->listening.nelts; i++) { | 655 for (i = 0; i < old_cycle->listening.nelts; i++) { |
656 if (ls[i].remain) { | 656 |
657 if (ls[i].remain || ls[i].fd == -1) { | |
657 continue; | 658 continue; |
658 } | 659 } |
659 | 660 |
660 if (ngx_close_socket(ls[i].fd) == -1) { | 661 if (ngx_close_socket(ls[i].fd) == -1) { |
661 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 662 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |