Может ли чтение / запись сокета NETLINK когда-либо заканчиваться неудачей? - PullRequest
4 голосов
/ 15 марта 2012

Я предполагаю, что может произойти паника ядра или что-то эквивалентное катастрофическое, но в противном случае возможна ли ошибка send или recv на сокете NETLINK?

1 Ответ

2 голосов
/ 15 марта 2012

Учитывая, что цель сокета AF_NETLINK заключается в связи с ядром, теоретически для вызова send может произойти сбой, поскольку ядро ​​будет проверять данные, передаваемыеон может решить, что указанные данные являются бессмысленными, и отклонить send (с любым ошибочным значением).

Практически, поскольку вы предоставляете указатель данных, вы можете указать недопустимый указатель (как и для любого send или recv вызов) и сразу же получит ошибку EFAULT.

При условии, что буфер recv является допустимым и достаточно большим, recv обычно не должен завершаться ошибкой (за исключением таких вещей, как EINTR).

Я полагаю, вы можете получить более конкретный ответ с более конкретным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...