ПРОЕКТЫ 


  АРХИВ 


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: Проблема: использо вание неблокирующих сокетов в 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



 




Copyright © Lexa Software, 1996-2009.