ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Помогите разобраться с функциями




Спасибо за ответ, а можно поподробнее?


Что именно подробнее?

--
wbr, Kirill


Функция ngx_http_memcached_pass() модуля ngx_http_memcached_module начинается с:
  if (mlcf->upstream.upstream) {
        return "is duplicate";
    }
что за дубликат здесь проверяется и в каких случаях он дублируется?
Дальше идет такой код:
value = cf->args->elts;
ngx_memzero(&u, sizeof(ngx_url_t));
u.url = value[1]; тут видимо в u.url ложится имя хоста мемкешеда u.no_resolve = 1; не разрешать? т.е не переводить в IP? почему??

mlcf->upstream.upstream = ngx_http_upstream_add(cf, &u, 0); что то тут происходит? :)

...

clcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_core_module);

clcf->handler = ngx_http_memcached_handler; устанавливаем обработчик, вся магия начинается тут? :)

if (clcf->name.data[clcf->name.len - 1] == '/') { что лежит в clcf.name ? clcf->auto_redirect = 1; зачем это нужно?
    }

Чтобы понять что в какой последовательности вызывается в каждую функцию в модуле мемкеша вставил ngx_error_log()
формат сообщения  "->>> имя_функции" и вот что получилось:
2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_create_loc_conf in /usr/local/nginx/conf/nginx.conf:16 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_create_loc_conf in /usr/local/nginx/conf/nginx.conf:34 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_create_loc_conf in /usr/local/nginx/conf/nginx.conf:43 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_create_loc_conf in /usr/local/nginx/conf/nginx.conf:50 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_create_loc_conf in /usr/local/nginx/conf/nginx.conf:57 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_pass in /usr/local/nginx/conf/nginx.conf:60 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_create_loc_conf in /usr/local/nginx/conf/nginx.conf:68 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_merge_loc_conf in /usr/local/nginx/conf/nginx.conf:133 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_merge_loc_conf in /usr/local/nginx/conf/nginx.conf:133 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_merge_loc_conf in /usr/local/nginx/conf/nginx.conf:133 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_merge_loc_conf in /usr/local/nginx/conf/nginx.conf:133 2009/04/01 22:54:23 [emerg] 32681#0: ->>> memcached_merge_loc_conf in /usr/local/nginx/conf/nginx.conf:133 Почему ngx_memcached_create_loc_conf, ngx_memcached_merge_loc_conf вызывается аж по 5 раз?

спасибо за ответы :)



----------------
НГС.ПОЧТА - http://mail.ngs.ru



 




Copyright © Lexa Software, 1996-2009.