ПРОЕКТЫ 


  АРХИВ 


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: ngx_http_conf_get_module_main_conf questions


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: ngx_http_conf_get_module_main_conf questions
  • From: "vagner" <nginx-forum@xxxxxxxx>
  • Date: Mon, 03 Jun 2013 17:19:42 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=D57GbgnEaFvFcP96XWE5ZlU2vmn616SUl9yTZEF7B8I=; b=PQgxn6ZlwUFfi3osZNQVTNVfLgYkaUoc+kZki99z4+p5j4k8vaS8V3DA/7xJXZ+UseHkdvWz0VEbcTq6gGQz26eXE4kzogu8e0muATkWKfOIIy4E7qDKaNN8m03Pe/xRRZ7aguHBKUea0LBwoeKq9/vsTvvqfGEyjvzZhXKE9FA=;
  • In-reply-to: <20130603094539.GR72282@mdounin.ru>
  • References: <20130603094539.GR72282@mdounin.ru>

Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote:
> 
> > Максим, спасибо за ответ
> > Вот код:
> >
> https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_f
> ilestats_module.c
> 
> И где проблема?
> 
> > Я понял, где сделал изначальную глупость - я попытался реализовать
> каунтеры
> > в пространстве конфига модуля. Для этого подойдет скорее шаред пул,
> как это
> > и было сделано у ustats модуля.
> 
> Счётчики в конфиге - должны работать при условии одного рабочего 
> процесса.  Счётчики в разделяемой памяти - дают возможность 
> считать что-либо в рамках нескольких рабочих процессов.
> 
> > Как вы думаете, мне лучше создать шаред пулы
> > для всех листов (ngx_http_filestats_time2size_t.timeouts &&
> > ngx_http_filestats_loc_conf_t.size2time), а потом связать их общей
> > структурой через указатели?
> > У меня пока плохо вырисовывается в голове каким образом используя
> > ngx_shared_memory_add можно связать все листы и при этом получать
> доступ к
> > этой памяти из контекста других модулей:(
> 
> Имеет смысл сделать одну зону разделяемой памяти на модуль, и 
> дальше уже выделять память из неё по потребности.
> 
> Но вообще я бы рекомендовал для начала не связываться с 
> разделяемой памятью, и в первую очередь добиться, чтобы всё 
> работало без неё.
> 
> -- 
> Maxim Dounin
> http://nginx.org/en/donation.html
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Спасибо большое за помощь. Добился того, чтобы все работало с одним
веркером. Единственное, что очень бросается в глаза, это использование
указателя на структуру ngx_http_filestats_loc_conf_t для того, чтобы при
использовании конфигураций других локейшенов я мог получать валидные данные
с настройками указанными в конфиге. Вы не могли бы подсказать, где можно
посмотреть реализацию работы с ngx_shm? Мне нужно вставить в шаренную память
листы, чтобы я мог избавиться от указателя, и чтобы хранить данные не
сохраняя оффсетов, смогу ли я каким либо образом вторым аргументом к функции
ngx_list_init использовать ngx_shm_zone_t?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,239774,239808#msg-239808

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.