Что означает код errno 77 (EBADMSG)?

 
Также может означать:
КонстантаТипОС
EBADFDerrnoLinux
ENOLCKerrnomacOS
NO_PAGES_AVAILABLEКод BSODWindows
Предыдущий Следующий
ENOLCK EREMCHG

EBADMSG

EBADMSG — значение errno Solaris 77. В документации Solaris это конкретное несоответствие в головной части очереди STREAMS, а не общее утверждение о повреждении произвольных данных приложения. Неожиданный элемент зависит от вызова, сообщившего ошибку.

Ошибочная операция STREAMS определяет характер несоответствия

Для read()головная часть потока может содержать управляющую информацию или переданный файловый дескриптор, когда запрашивались обычные данные. Для getmsg()несовместимым элементом является переданный файловый дескриптор. Для ioctl(I_RECVFD)управляющая информация или данные могут помешать приёму дескриптора. Эти случаи описывают тип сообщения и порядок очереди.

Зафиксируйте дескриптор, точный вызов и модули STREAMS, помещённые в поток. Модуль, вставляющий управляющие сообщения или трафик передачи дескрипторов, может изменить то, что достигает головной части потока. Не сводите EBADMSG к EIO и не отбрасывайте вслепую первое сообщение очереди: неожиданное сообщение может содержать управляющую информацию протокола, которую приложение должно получить через правильный интерфейс STREAMS.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.