ngx_http_conf_get_module_main_conf questions

Maxim Dounin mdounin at mdounin.ru
Mon Jun 3 09:45:39 UTC 2013


Hello!

On Sun, Jun 02, 2013 at 06:46:54PM -0400, vagner wrote:

> Максим, спасибо за ответ
> Вот код:
> https://github.com/svagner/ngx_filestats_module/blob/master/ngx_http_filestats_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