| Предыдущий | Следующий |
| ENETUNREACH | EBADE |
EBADR
Дескриптор запроса не является обычным файловым дескриптором
EBADR является errno Solaris 51 и обозначается как недопустимый дескриптор запроса
. Он находится в историческом диапазоне «сходящихся кодов ошибок» заголовка illumos. Слово дескриптор не должно автоматически направлять диагностику к close(), read()или недопустимому целому файловому дескриптору; EBADF и EBADFD описывает другие условия.
Руководство Solaris Common Messages от Oracle приводит конкретный исторический пример: NIS+ использовал EBADR для обозначения повреждённых или отсутствующих таблиц. Это намного конкретнее прежнего общего объяснения «старая операция обмена» и показывает, почему до интерпретации слова «запрос» необходимо определить сбойную подсистему.
Что следует проверить
- Найдите API или службу, вернувшие
EBADRи исследуйте их путь проверки объекта запроса или таблицы. - Для старого программного обеспечения NIS+ проверяйте состояние соответствующей таблицы и сопутствующую диагностику службы, а не повторяйте файловую операцию.
- Не смешивайте рабочие процессы
EBADRотделяйте отEBADRQC: последний указывает на недопустимый кодзапроса, а не на дескриптор запроса.
Ссылки
- Oracle Solaris: каталог errno intro(2)
- Руководство Solaris по общим сообщениям и устранению неполадок
- illumos sys/errno.h: определения ABI
Нужно найти другой код? Найти другой код состояния или ошибки.