Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: инициализация фил ьтр модуля
Здравствуйте, Maxim.
Вы писали 7 ноября 2007 г., 0:25:31:
> Hello!
> On Tue, 6 Nov 2007, linux-kernel wrote:
>> Здравствуйте, nginx-ru.
>> Писал я модуль к нгинксу 0 6 16 и сталкнулся с проблемой.
>>
>> Взял в качестве образца ngx_http_chunked_filter_module.c и обнаружил
>> что в инит функции модуля, те в ngx_http_chunked_filter_init
>>
>> ngx_http_next_header_filter = ngx_http_top_header_filter;
>> ngx_http_top_header_filter = ngx_http_chunked_header_filter;
>>
>> ngx_http_next_body_filter = ngx_http_top_body_filter;
>> ngx_http_top_body_filter = ngx_http_chunked_body_filter;
>> не имею смысла тк, модули
>> ngx_http_headers_filter_module.c и
>> ngx_http_write_filter_module.c не
>> были инициализированы и соответствующий
>> ngx_http_top_header_filter и ngx_http_top_body_filter равны NULL, те в
>> свой фильтр модуль я получаю gx_http_next_header_filter = NULL, а
>> когда ngx_http_headers_filter_module.c и
>> ngx_http_write_filter_module.c проинициализируются, они спокойно
>> затирают указатель на мой фильтр, те мои функции фильтры вообще не
>> вызываются.
>>
>> Собственно вопрос: так должно быть или я не правильно понял идеалогию
>> нгинх-а(я его только 5 день в глаза вижу)???
> Видимо, вы встроились в неправильное место цепочки фильтров при
> конфигурировании. В файле config надо написать примерно следующее:
> ngx_addon_name="ngx_http_my_filter_module"
> HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES ngx_http_my_filter_module"
> NGX_ADDON_SRCS="$NGX_ADDON_SRCS
> $ngx_addon_dir/ngx_http_my_filter_module.c"
> Тогда фильтр встроется в осмысленное место.
> Maxim Dounin
спасибо, я извратнулся с глобальными указателями и заработало
--
С уважением,
linux-kernel mailto:linux-kernel@xxxxxxx
|