FreeBSD + Kqueue/Poll + Libevent

Valery Kholodkov valery+nginxru на grid.net.ru
Сб Авг 20 09:53:12 UTC 2011


urri пишет:
> Собственно мой вопрос был: почему Kqueue
> может не возвращать сокет приложению
> для чтения данных, хотя известно что
> данные ОС для данного соединения уже
> получила.

Так может происходить по следующим причинам:

1) Отправитель не послал флаг PSH и данные не превысили размер входного 
буфера (за исключением слечае, когда канал чтения явно закрывается 
приложением на другой стороне);
2) Используется EV_ONESHOT и данные не были полностью вычитаны приложением;
3) Используется SO_RCVLOWAT и не было принято достаточно данных для 
генерации события.

-- 
Best regards,
Valery Kholodkov



Подробная информация о списке рассылки nginx-ru