On Fri, Aug 17, 2007 at 01:52:29PM +0300, Alex Vorona wrote:
Igor Sysoev пишет:
*) Исправление: теперь по умолчанию nginx использует значение 511 для
listen backlog на всех платформах, кроме FreeBSD.
Спасибо Jiang Hong.
а почему для FreeBSD исключение?
Изначально использовался -1.. Как оказалось, в мане 10-го Соляриса уже
описано, что это равносильно нулю. В более ранних версиях про это ничего
не написано. В listen(3) Линукса тоже написано про ноль. В listen(2),
кстати, про это ничего нет, равно как и нет никакого упоминания про то,
что есть listen(3).
man-pages-2.63
man 2 listen
NOTES
If the backlog argument is greater than the value in
/proc/sys/net/somaxconn, then it is silently truncated to that value; the
default value in this file is 128.
man 3 listen
No entry for listen in section 3 of the manual
man-pages-2.39-9.el5
man 2 listen
BUGS
If the socket is of type AF_INET, and the backlog argument is
greater than the constant SOMAXCONN (128 in Linux 2.0 & 2.2), it is
silently truncated to SOMAXCONN.
man 3 listen
No entry for listen in section 3 of the manual
Greater - это не значит less than 0.
а я и не говорил ничего про отрицательные значения. Мне просто интересно -
backlog будет 511 при SOMAXCONN=128 или нет?
Понятия не имею. Секции "Conforming to", которая есть в
http://linux.die.net/man/2/listen, нет. Нет также "REFERENCED BY", "See Also" не
содержит кликабельных ссылок, есть копирайт.