Что означает код errno 61 (ENODATA)?

 
Также может означать:
КонстантаТипОС
ERROR_PRINTQ_FULLОшибка WindowsWindows
ENODATAerrnoLinux
ECONNREFUSEDerrnomacOS
INTERRUPT_EXCEPTION_NOT_HANDLEDКод BSODWindows
Предыдущий Следующий
ECONNREFUSED ETIME

ENODATA

ENODATA — значение errno Solaris 61, Нет доступных данных. Точный смысл зависит от интерфейса, вернувшего ошибку. Конкретный пример Solaris STREAMS — ioctl I_GETBAND : он возвращает ENODATA , когда в очереди чтения головного модуля потока нет сообщения.

Отсутствие данных не обязательно означает конец файла

Прежде чем интерпретировать errno, сохраните сведения о сбойном вызове и его режиме. Интерфейсы STREAMS предоставляют очереди сообщений, полосы приоритета и управляющие операции; пустая очередь при неблокирующем запросе отличается от закрытия удалённой стороной потока байтов. Другие интерфейсы также могут использовать ENODATA для собственных документированных условий отсутствия данных.

Для диагностики STREAMS определите, какой ioctl или операция чтения была запрошена и должно ли сообщение ожидаемой полосы приоритета уже поступить в головной модуль потока. Сравните с I_PEEK, который сообщает об отсутствии сообщения возвращаемым значением, а не ENODATA. Именно контракт API, а не один текст errno, определяет, следует ли ждать, опрашивать, изменить запрос или считать условие окончательным.

Ссылки


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