Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Проблема: использо вание неблокирующих сокетов в handler'е
Hello!
On Thu, Jul 24, 2008 at 05:46:17PM -0700, Sergey Samokhin wrote:
Здравствуйте.
Монашёв Михаил wrote:
Здравствуйте, Сергей.
поищите в этом листе ngx_mod_repeater . он делает похожие вещи
Спасибо, нашел. Но он не использует неблокирующие сокеты для чтения
ответа от бакенда.
Еще работа с сокетами есть в ngx_mail_proxy_module.c, но чтение вроде
блокирующее (ngx_mail_proxy_block_read())
Нет, в почтовом модуле чтение естественно без блокировок, а
упомянутое название функции говорит о том что с данными от клиента
делать ничего не надо когда она установлена обработчиком.
Смотрите в код внимательнее.
Основная идея - поставить правильный c->read->handler (и
c->write->handler), после чего в соответствующем обработчике
проделывать необходимые манипуляции.
Примеры можно найти в почтовом модуле, в собственно обработке http
запросов, в ngx_http_upstream.c.
Maxim Dounin
|