comparison src/core/nginx.c @ 860:201d017ea470

slab allocator in shared memory
author Igor Sysoev <igor@sysoev.ru>
date Mon, 20 Nov 2006 08:51:45 +0000
parents 3db9dd3d9d8c
children 45df22906c12
comparison
equal deleted inserted replaced
859:d1e8c59a50ee 860:201d017ea470
619 ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf) 619 ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf)
620 { 620 {
621 ngx_core_conf_t *ccf = conf; 621 ngx_core_conf_t *ccf = conf;
622 622
623 #if !(NGX_WIN32) 623 #if !(NGX_WIN32)
624 ngx_str_t lock_file;
624 struct passwd *pwd; 625 struct passwd *pwd;
625 struct group *grp; 626 struct group *grp;
626 #endif 627 #endif
627 628
628 ngx_conf_init_value(ccf->daemon, 1); 629 ngx_conf_init_value(ccf->daemon, 1);
695 } 696 }
696 697
697 ngx_memcpy(ngx_cpymem(ccf->oldpid.data, ccf->pid.data, ccf->pid.len), 698 ngx_memcpy(ngx_cpymem(ccf->oldpid.data, ccf->pid.data, ccf->pid.len),
698 NGX_OLDPID_EXT, sizeof(NGX_OLDPID_EXT)); 699 NGX_OLDPID_EXT, sizeof(NGX_OLDPID_EXT));
699 700
701
700 if (ccf->lock_file.len == 0) { 702 if (ccf->lock_file.len == 0) {
701 ccf->lock_file.len = sizeof(NGX_LOCK_PATH) - 1; 703 ccf->lock_file.len = sizeof(NGX_LOCK_PATH) - 1;
702 ccf->lock_file.data = (u_char *) NGX_LOCK_PATH; 704 ccf->lock_file.data = (u_char *) NGX_LOCK_PATH;
703 } 705 }
704 706
705 if (ngx_conf_full_name(cycle, &ccf->lock_file) == NGX_ERROR) { 707 if (ngx_conf_full_name(cycle, &ccf->lock_file) == NGX_ERROR) {
706 return NGX_CONF_ERROR; 708 return NGX_CONF_ERROR;
709 }
710
711 lock_file = cycle->old_cycle->lock_file;
712
713 if (lock_file.len) {
714 lock_file.len--;
715
716 if (ccf->lock_file.len != lock_file.len
717 || ngx_strncmp(ccf->lock_file.data, lock_file.data, lock_file.len)
718 != 0)
719 {
720 ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
721 "\"lock_file\" could not be changed, ignored");
722 }
723
724 cycle->lock_file.len = lock_file.len + 1;
725 lock_file.len += sizeof(".accept");
726
727 cycle->lock_file.data = ngx_pstrdup(cycle->pool, &lock_file);
728 if (cycle->lock_file.data == NULL) {
729 return NGX_CONF_ERROR;
730 }
731
732 } else {
733 cycle->lock_file.len = ccf->lock_file.len + 1;
734 cycle->lock_file.data = ngx_palloc(cycle->pool,
735 ccf->lock_file.len + sizeof(".accept"));
736 if (cycle->lock_file.data == NULL) {
737 return NGX_CONF_ERROR;
738 }
739
740 ngx_memcpy(ngx_cpymem(cycle->lock_file.data, ccf->lock_file.data,
741 ccf->lock_file.len),
742 ".accept", sizeof(".accept"));
707 } 743 }
708 744
709 #endif 745 #endif
710 746
711 return NGX_CONF_OK; 747 return NGX_CONF_OK;