Подтвердить что ты не робот

Does SO_RCVTIMEO влияет на accept()?

Использует ли параметр SO_RCVTIMEO accept (заставляя его возвращать EAGAIN или EWOULDBLOCK, если истекает время ожидания)? Есть ли какое-либо поведение, указанное стандартом? Я не могу найти его в документации для accept или использования параметров:

http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_10_16

4b9b3361

Ответ 1

В то время как на POSIX SO_RCVTIMEO определен для "функции ввода", а SO_SNDTIMEO определен для "функции вывода", я не могу найти какое-либо определение для "функции ввода" или "функции вывода", поэтому я просто говорят, что они читают/получают и пишут/отправляют хотя бы.

В конкретном случае Linux SO_RCVTIMEO влияет на accept(), что можно увидеть, посмотрев inet_csk_accept(), а SO_SND_TIMEO влияет на connect(), что можно увидеть, посмотрев tcp_sendmsg().