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

 
Также может означать:
КонстантаТипОС
ERROR_CALL_NOT_IMPLEMENTEDОшибка WindowsWindows
EISNAMerrnoLinux
EPROTONOSUPPORTerrnoSolaris
PHASE0_EXCEPTIONКод BSODWindows
Предыдущий Следующий
EPROTONOSUPPORT EREMOTEIO

ENODATA

Что означает ENODATA в Windows UCRT

ENODATA: Данные отсутствуют при неблокирующем вводе-выводе. Для неблокирующего STREAMS/message interface сейчас нет данных; это не обязательно EOF и не доказательство разрыва канала.

В Windows UCRT сначала зафиксируйте, какой слой выдал ошибку: errno, Win32 GetLastError и Winsock WSAGetLastError являются разными каналами и не должны подменять друг друга. Полезные технические маркеры из контекста этой ошибки: UCRT, POSIX, API, Ucrt, ABI. Записывайте их фактические значения или режимы, а не только символическое имя errno.

Диагностика

  • Проверьте, что descriptor действительно принадлежит ожидаемому stream layer и не был переиспользован после close.
  • Запишите тип message/STREAMS endpoint, размер доступных данных и режим blocking непосредственно перед вызовом.
  • Сохраняйте position/queue state до retry, потому что повтор может изменить границу сообщения или скрыть исходный сбой.
  • Для Windows сопоставьте CRT descriptor с нативным handle/socket и проверьте, что объект не был закрыт или переиспользован до чтения кода ошибки.

Ссылки


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