comparison src/os/unix/ngx_process.c @ 566:be4f34123024 NGINX_0_8_35

nginx 0.8.35 *) Change: now the charset filter runs before the SSI filter. *) Feature: the "chunked_transfer_encoding" directive. *) Bugfix: an "&" character was not escaped when it was copied in arguments part in a rewrite rule. *) Bugfix: nginx might be terminated abnormally while a signal processing or if the directive "timer_resolution" was used on platforms which do not support kqueue or eventport notification methods. Thanks to George Xie and Maxim Dounin. *) Bugfix: if temporary files and permanent storage area resided at different file systems, then permanent file modification times were incorrect. Thanks to Maxim Dounin. *) Bugfix: ngx_http_memcached_module might issue the error message "memcached sent invalid trailer". Thanks to Maxim Dounin. *) Bugfix: nginx could not built zlib-1.2.4 library using the library sources. Thanks to Maxim Dounin. *) Bugfix: a segmentation fault occurred in a worker process, if there was large stderr output before FastCGI response; the bug had appeared in 0.8.34. Thanks to Maxim Dounin.
author Igor Sysoev <http://sysoev.ru>
date Mon, 29 Mar 2010 00:00:00 +0400
parents 43e02819c5cf
children 53f5f04a64b8
comparison
equal deleted inserted replaced
565:dd7104f21940 566:be4f34123024
315 if (sig->signo == signo) { 315 if (sig->signo == signo) {
316 break; 316 break;
317 } 317 }
318 } 318 }
319 319
320 ngx_time_update(0, 0); 320 ngx_time_sigsafe_update();
321 321
322 action = ""; 322 action = "";
323 323
324 switch (ngx_process) { 324 switch (ngx_process) {
325 325
477 * erroneously call the signal handler for exited process 477 * erroneously call the signal handler for exited process
478 * despite waitpid() may be already called for this process. 478 * despite waitpid() may be already called for this process.
479 */ 479 */
480 480
481 if (err == NGX_ECHILD) { 481 if (err == NGX_ECHILD) {
482 ngx_log_error(NGX_LOG_INFO, ngx_cycle->log, errno, 482 ngx_log_error(NGX_LOG_INFO, ngx_cycle->log, 0,
483 "waitpid() failed"); 483 "waitpid() failed (%d: %s)",
484 err, ngx_sigsafe_strerror(err));
484 return; 485 return;
485 } 486 }
486 487
487 #endif 488 #endif
488 489
489 ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, errno, 490 ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, 0,
490 "waitpid() failed"); 491 "waitpid() failed (%d: %s)",
491 492 err, ngx_sigsafe_strerror(err));
492 return; 493 return;
493 } 494 }
494 495
495 496
496 if (ngx_accept_mutex_ptr) { 497 if (ngx_accept_mutex_ptr) {