comparison src/event/ngx_event.c @ 258:6ae1357b7b7c NGINX_0_4_14

nginx 0.4.14 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. *) Feature: now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. *) Bugfix: ngx_http_perl_module did not work with perl built with the threads support; bug appeared in 0.3.38. *) Bugfix: ngx_http_perl_module did not work if perl was called recursively. *) Bugfix: nginx ignored a host name in an request line. *) Bugfix: a worker process may got caught in an endless loop, if a FastCGI server sent too many data to the stderr. *) Bugfix: the $upstream_response_time variable may be negative if the system time was changed backward. *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 proxy authentication server when POP3 was used. *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 proxy authentication server failed.
author Igor Sysoev <http://sysoev.ru>
date Mon, 27 Nov 2006 00:00:00 +0300
parents c982febb7588
children 675a39fd14cd
comparison
equal deleted inserted replaced
257:0e566ee1bcd5 258:6ae1357b7b7c
481 481
482 if (ccf->master == 0) { 482 if (ccf->master == 0) {
483 return NGX_OK; 483 return NGX_OK;
484 } 484 }
485 485
486
487 if (ngx_accept_mutex_ptr) { 486 if (ngx_accept_mutex_ptr) {
488
489 /* reinit ngx_accept_mutex */
490
491 if (ngx_shmtx_create(&ngx_accept_mutex, (void *) ngx_accept_mutex_ptr,
492 ccf->lock_file.data, cycle->log)
493 != NGX_OK)
494 {
495 return NGX_ERROR;
496 }
497
498 return NGX_OK; 487 return NGX_OK;
499 } 488 }
500 489
501 490
502 /* cl should be equal or bigger than cache line size */ 491 /* cl should be equal or bigger than cache line size */
526 515
527 shared = shm.addr; 516 shared = shm.addr;
528 517
529 ngx_accept_mutex_ptr = (ngx_atomic_t *) shared; 518 ngx_accept_mutex_ptr = (ngx_atomic_t *) shared;
530 519
531 if (ngx_shmtx_create(&ngx_accept_mutex, shared, ccf->lock_file.data, 520 if (ngx_shmtx_create(&ngx_accept_mutex, shared, cycle->lock_file.data)
532 cycle->log)
533 != NGX_OK) 521 != NGX_OK)
534 { 522 {
535 return NGX_ERROR; 523 return NGX_ERROR;
536 } 524 }
537 525
594 #endif 582 #endif
595 583
596 ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); 584 ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
597 ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); 585 ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module);
598 586
599 if (ccf->worker_processes > 1 && ecf->accept_mutex) { 587 if (ccf->master && ccf->worker_processes > 1 && ecf->accept_mutex) {
600 ngx_use_accept_mutex = 1; 588 ngx_use_accept_mutex = 1;
601 ngx_accept_mutex_held = 0; 589 ngx_accept_mutex_held = 0;
602 ngx_accept_mutex_delay = ecf->accept_mutex_delay; 590 ngx_accept_mutex_delay = ecf->accept_mutex_delay;
603 591
604 } else { 592 } else {