| Предыдущий | Следующий |
| ERESTART | EILSEQ |
ENOPROTOOPT
Что означает ENOPROTOOPT в Linux
ENOPROTOOPT: Протокол недоступен. Socket option неизвестна выбранному protocol level или несовместима с типом endpoint; важна точная пара level/option.
В Linux связывайте errno с конкретным системным socket-вызовом и network namespace; одинаковое число без имени вызова и endpoint context недостаточно для диагностики. Полезные технические маркеры из контекста этой ошибки: ENOPROTOOPT, getsockopt(), setsockopt(), SOL_SOCKET, IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP. Записывайте их фактические значения или режимы, а не только символическое имя errno.
Диагностика
- Если операция асинхронная или неблокирующая, дождитесь документированного события готовности и получите окончательный status предусмотренным API способом.
- Зафиксируйте фазу socket lifecycle: создание, bind, connect, send, receive или shutdown; одинаковый endpoint проверяется по-разному на каждой фазе.
- Сохраните local и remote address, family, socket type, protocol, blocking mode и состояние интерфейса до закрытия объекта.
- Для Linux сопоставьте событие с process/thread, descriptor и точным syscall; после retry проверьте, не изменился ли объект под тем же числовым дескриптором.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.