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() постоянно вылетает с ошибкой.