Mercurial > hg > nginx-vendor-current
comparison src/os/unix/ngx_process.c @ 112:408f195b3482 NGINX_0_3_3
nginx 0.3.3
*) Change: the "bl" and "af" parameters of the "listen" directive was
renamed to the "backlog" and "accept_filter".
*) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
directive.
*) Change: the "$msec" log parameter does not require now the
additional the gettimeofday() system call.
*) Feature: the -t switch now tests the "listen" directives.
*) Bugfix: if the invalid address was specified in the "listen"
directive, then after the -HUP signal nginx left an open socket in
the CLOSED state.
*) Bugfix: the mime type may be incorrectly set to default value for
index file with variable in the name; bug appeared in 0.3.0.
*) Feature: the "timer_resolution" directive.
*) Feature: the millisecond "$upstream_response_time" log parameter.
*) Bugfix: a temporary file with client request body now is removed
just after the response header was transferred to a client.
*) Bugfix: OpenSSL 0.9.6 compatibility.
*) Bugfix: the SSL certificate and key file paths could not be relative.
*) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
*) Bugfix: the "ssl_protocols" directive allowed to specify the single
protocol only.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 19 Oct 2005 00:00:00 +0400 |
parents | 45f7329b4bd0 |
children | c982febb7588 |
comparison
equal
deleted
inserted
replaced
111:a175b609c76d | 112:408f195b3482 |
---|---|
280 | 280 |
281 void | 281 void |
282 ngx_signal_handler(int signo) | 282 ngx_signal_handler(int signo) |
283 { | 283 { |
284 char *action; | 284 char *action; |
285 struct timeval tv; | |
286 ngx_int_t ignore; | 285 ngx_int_t ignore; |
287 ngx_err_t err; | 286 ngx_err_t err; |
288 ngx_signal_t *sig; | 287 ngx_signal_t *sig; |
289 | 288 |
290 ignore = 0; | 289 ignore = 0; |
295 if (sig->signo == signo) { | 294 if (sig->signo == signo) { |
296 break; | 295 break; |
297 } | 296 } |
298 } | 297 } |
299 | 298 |
300 ngx_gettimeofday(&tv); | 299 ngx_time_update(0, 0); |
301 ngx_time_update(tv.tv_sec); | |
302 | 300 |
303 action = ""; | 301 action = ""; |
304 | 302 |
305 switch (ngx_process) { | 303 switch (ngx_process) { |
306 | 304 |
454 */ | 452 */ |
455 | 453 |
456 if (err == NGX_ECHILD) { | 454 if (err == NGX_ECHILD) { |
457 ngx_log_error(NGX_LOG_INFO, ngx_cycle->log, errno, | 455 ngx_log_error(NGX_LOG_INFO, ngx_cycle->log, errno, |
458 "waitpid() failed"); | 456 "waitpid() failed"); |
457 return; | |
459 } | 458 } |
460 | 459 |
461 #endif | 460 #endif |
462 | 461 |
463 ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, errno, | 462 ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, errno, |
525 case NGX_DEBUG_POINTS_STOP: | 524 case NGX_DEBUG_POINTS_STOP: |
526 raise(SIGSTOP); | 525 raise(SIGSTOP); |
527 break; | 526 break; |
528 | 527 |
529 case NGX_DEBUG_POINTS_ABORT: | 528 case NGX_DEBUG_POINTS_ABORT: |
530 abort(); | 529 ngx_abort(); |
531 } | 530 } |
532 } | 531 } |