Возможно ли, чтобы функция socket()
завершилась с ошибкой EINPROGRESS
в Linux? Обратите внимание, что я специально спрашиваю о socket()
, а не connect()
или других.Can socket() fail с EINPROGRESS
POSIX не указан EINPROGRESS
как возможный код ошибки. Однако manpage для socket()
в Linux говорит:
Другие ошибки могут генерироваться базовыми модулями протокола.
Есть ли какие-либо обстоятельства, при которых этот вызов может действительно потерпеть неудачу с EINPROGRESS
?
Я не вижу, как. Нет ничего, что могло бы начаться. Нет ввода-вывода: просто создание сокета FD. Почему вы спрашиваете? – EJP
Я думаю, что manpage здесь недвусмыслен: могут быть протоколы, которые на самом деле _do_ возвращают 'EINPROGRESS' при вызове' socket() '. Но ни один из широко используемых протоколов не делает этого. Невозможно вернуть ссылающийся файл-регистратор, поэтому он должен был быть жесткой ошибкой, что несколько противоречит смыслу 'EINPROGRESS' – Ctx