| Предыдущий | Следующий |
| ENETUNREACH | ENOBUFS |
ENAVAIL
Что означает ENAVAIL в Linux
ENAVAIL означает «Нет доступных семафоров XENIX». Для условия «Нет доступных семафоров XENIX» код ENAVAIL нужно связывать с первым возвратившим его вызовом и контекстом: исторический интерфейс System V, STREAMS, XENIX либо совместимый driver/ioctl ABI.
После отказа, соответствующего «Нет доступных семафоров XENIX», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для ENAVAIL исходная английская страница также выделяет XENIX, STREAMS, ABI, CRT и If; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Нет доступных семафоров XENIX» (Linux,
ENAVAIL) найдите syscall/ioctl или compatibility entry point, который первым установил errno. - При ошибке «Нет доступных семафоров XENIX» (Linux,
ENAVAIL) сверьте числовое значение и символ с заголовками точной архитектуры и версии deployed system. - При ошибке «Нет доступных семафоров XENIX» (Linux,
ENAVAIL) запишите идентификатор request/slot/layer, поколение объекта и событие его создания, завершения или остановки. - При ошибке «Нет доступных семафоров XENIX» (Linux,
ENAVAIL) не переносите историческую формулировку на современную подсистему без подтверждения provider и ABI.
На платформе Linux исправление ENAVAIL считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Нет доступных семафоров XENIX» без утечки ресурсов и потери первичной диагностики.
Ссылки для ENAVAIL
- Linux man-pages: errno(3)
- Linux kernel: asm-generic errno definitions
- GNU C Library: коды ошибок
- illumos: STREAMS programming документация
Нужно найти другой код? Найти другой код состояния или ошибки.