Mercurial > hg > nginx-ranges
comparison src/os/unix/ngx_process_cycle.c @ 356:b743d290eb3b NGINX_0_6_22
nginx 0.6.22
*) Change: now all ngx_http_perl_module methods return values copied to
perl's allocated memory.
*) Bugfix: if nginx was built with ngx_http_perl_module, the perl
before 5.8.6 was used, and perl supported threads, then during
reconfiguration the master process aborted; bug appeared in
0.5.9.
Thanks to Boris Zhmurov.
*) Bugfix: the ngx_http_perl_module methods may get invalid values of
the regex captures.
*) Bugfix: a segmentation fault occurred in worker process, if the
$r->has_request_body() method was called for a request whose small
request body was already received.
*) Bugfix: large_client_header_buffers did not freed before going to
keep-alive state.
Thanks to Olexander Shtepa.
*) Bugfix: the last address was missed in the $upstream_addr variable;
bug appeared in 0.6.18.
*) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
now it returns 502 code, that can be rerouted to a next server using
the "fastcgi_next_upstream invalid_header" directive.
*) Bugfix: a segmentation fault occurred in master process if the
"fastcgi_catch_stderr" directive was used; bug appeared in
0.6.10.
Thanks to Manlio Perillo.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 19 Dec 2007 00:00:00 +0300 |
parents | 4276c2f1f434 |
children | babd3d9efb62 |
comparison
equal
deleted
inserted
replaced
355:3ac45897a61c | 356:b743d290eb3b |
---|---|
685 static void | 685 static void |
686 ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) | 686 ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) |
687 { | 687 { |
688 ngx_uint_t i; | 688 ngx_uint_t i; |
689 ngx_connection_t *c; | 689 ngx_connection_t *c; |
690 | |
691 ngx_worker_process_init(cycle, 1); | |
692 | |
693 ngx_setproctitle("worker process"); | |
694 | |
690 #if (NGX_THREADS) | 695 #if (NGX_THREADS) |
691 ngx_int_t n; | 696 { |
692 ngx_err_t err; | 697 ngx_int_t n; |
693 ngx_core_conf_t *ccf; | 698 ngx_err_t err; |
694 #endif | 699 ngx_core_conf_t *ccf; |
695 | |
696 ngx_worker_process_init(cycle, 1); | |
697 | |
698 ngx_setproctitle("worker process"); | |
699 | |
700 #if (NGX_THREADS) | |
701 | 700 |
702 ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); | 701 ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); |
703 | 702 |
704 if (ngx_threads_n) { | 703 if (ngx_threads_n) { |
705 if (ngx_init_threads(ngx_threads_n, ccf->thread_stack_size, cycle) | 704 if (ngx_init_threads(ngx_threads_n, ccf->thread_stack_size, cycle) |
734 /* fatal */ | 733 /* fatal */ |
735 exit(2); | 734 exit(2); |
736 } | 735 } |
737 } | 736 } |
738 } | 737 } |
739 | 738 } |
740 #endif | 739 #endif |
741 | 740 |
742 for ( ;; ) { | 741 for ( ;; ) { |
743 | 742 |
744 if (ngx_exiting) { | 743 if (ngx_exiting) { |