nginx + default {deferred|bind} = корки
Alex Vorona
voron at amhost.net
Wed May 30 09:42:19 MSD 2007
Igor Sysoev пишет:
>> man 7 socket в Linux
>> SO_REUSEADDR
>> Indicates that the rules used in validating addresses supplied in a bind(2)
>> call should allow reuse of local addresses. For PF_INET sockets this means
>> that a socket may bind, except when there is an active listening socket
>> bound to the address. When the listening socket is bound to INADDR_ANY
>> with a specific port then it is not possible to bind to this port for any
>> local address.
>>
>> Вот как раз и имеем ту ситуацию, с которой начался тред.
>
> Проблема в том, что bind() вопреки этому man'у как раз проходит без ошибок,
> а ошибка выплывает только на этапе listen(). И непонятно, почему в этом
> случае listening сокет постоянно сообщает о готовых соединениях, а
> accept() постоянно вылетает с ошибкой.
>
Почему вопреки? nginx сначала делает все bind()'ы, а потом только listen()'ы
По ману - bind() не пройдёт, когда на этом порту уже есть listen()-сокет. Другой
вопрос в нелогичности давать делать такие bind()'ы, если всё равно нельзя
сделать потом listen() всем
More information about the nginx-ru
mailing list