ПРОЕКТЫ 


  АРХИВ 


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_posted_events


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Инициализация списка ngx_posted_events
  • From: "titkovdmitry@xxxxxxxxx" <titkovdmitry@xxxxxxxxx>
  • Date: Fri, 30 Aug 2013 12:55:01 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=toOuG3N2nWfr5cF/Nb3TaUNwu0KZYxbA19BUEQiNOV0=; b=MukoCxseMupN4fZoGTBF//Km+f6L8HRTlOoGb82PpV55dHLzGOjm69dnld5Zizz8TM W+aA98bc+PRsuz8pvSlrUXxka7cvPVKDr9gRw4EwnSa4j+hNEtStOSRX/MHYmoMleD0Z F1abqEMt+SmtOpFDWO/LFX0QEGvaYZ8lfnCASj1GccHwUUPADUsvXU5zS3Vc469CS6pa lpqd26iWOePHWeiAFOuye1JqQOKfJ/3kSfQa6mhtthEiAqcBR1KFFm9vAIJYM+3+uvjh 15hQgQ9rdv57DC+2bDF5XRg4j70MoQxBxtEb5acU+B/EmciMkKBTE8uRyd2iXvvG975T re4A==
  • In-reply-to: <20130830084212.GB29448@mdounin.ru>
  • References: <52203678.8010503@gmail.com> <20130830084212.GB29448@mdounin.ru>

30.08.2013 12:42, Maxim Dounin пишет:
Hello!

On Fri, Aug 30, 2013 at 10:06:48AM +0400, titkovdmitry@xxxxxxxxx wrote:

Здравствуйте!
Я разрабатываю модуль к серверу nginx который позволяет формировать
некий текстовый ответ на http запрос.
Процесс формирования ответа полностью отвязан от nginx и я хотел бы
вынести этот процесс в thread pool.
Мне кажется я разобрался как это можно сделать но у меня остается
один вопрос.

Реализовать я бы хотел это следующим образом, когда вызывается
обработчик запроса модуля я копирую все необходимые параметры в
структуру и передаю её на выполнение в thread pool.
Так же я сохраняю этот запрос в списке подобном ngx_posted_events. и
устанавливаю атомарный флаг готовности ответа.
В nginx в метод ngx_process_events_and_timers добавлю код, который
проверит список с запросами и те у которых готов ответ на отправку
вызовет соответственно
ngx_http_send_header(r) и ngx_http_output_filter(r, out);

Дак вот у меня есть непонимание, где в коде nginx обнуляется
ngx_posted_events ? Всё перерыл, не могу найти этот момент. Буду
благодарен за помощь.
Обработкой posted-событий занимается ngx_event_process_posted(),
и там же обработанные события из очереди удаляются.

Я нашел где они удаляются. И мне понятен механизм работы с ними. Вопрос состоит в том где эта переменная инициализируется. Это указатель, в методе ngx_locked_post_event мы обращаемся к полям структуры которая должна находится по этому указателю. Дак вот где при старте сервера ей присвается начальное значение ? т.е должен быть код инициализации, типа ngx_posted_events = init_ev;

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


 




Copyright © Lexa Software, 1996-2009.