Что означает код errno 51 (EBADR)?

 
Также может означать:
КонстантаТипОС
ERROR_REM_NOT_LISTОшибка WindowsWindows
KERN_POLICY_STATICКод возврата ядра macOSmacOS
ippStsFeaturesCombinationСтатус Intel IPPЛюбая
EL2HLTerrnoLinux
ENETUNREACHerrnomacOS
UNEXPECTED_INITIALIZATION_CALLКод BSODWindows
Предыдущий Следующий
ENETUNREACH EBADE

EBADR

Дескриптор запроса не является обычным файловым дескриптором

EBADR является errno Solaris 51 и обозначается как недопустимый дескриптор запроса. Он находится в историческом диапазоне «сходящихся кодов ошибок» заголовка illumos. Слово дескриптор не должно автоматически направлять диагностику к close(), read()или недопустимому целому файловому дескриптору; EBADF и EBADFD описывает другие условия.

Руководство Solaris Common Messages от Oracle приводит конкретный исторический пример: NIS+ использовал EBADR для обозначения повреждённых или отсутствующих таблиц. Это намного конкретнее прежнего общего объяснения «старая операция обмена» и показывает, почему до интерпретации слова «запрос» необходимо определить сбойную подсистему.

Что следует проверить

  • Найдите API или службу, вернувшие EBADR и исследуйте их путь проверки объекта запроса или таблицы.
  • Для старого программного обеспечения NIS+ проверяйте состояние соответствующей таблицы и сопутствующую диагностику службы, а не повторяйте файловую операцию.
  • Не смешивайте рабочие процессы EBADR отделяйте от EBADRQC: последний указывает на недопустимый кодзапроса, а не на дескриптор запроса.

Ссылки


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