Что означает код errno 119 (ENAVAIL)?

 
Также может означать:
КонстантаТипОС
ERROR_BAD_DRIVER_LEVELОшибка WindowsWindows
ENOBUFSerrnoWindows
KERNEL_STACK_INPAGE_ERRORКод BSODWindows
Предыдущий Следующий
ENETUNREACH ENOBUFS

ENAVAIL

Что означает ENAVAIL в Linux

ENAVAIL: Нет доступных семафоров XENIX. Это исторический XENIX semaphore status о недоступности объекта; проверяйте legacy IPC subsystem и конфигурацию, где такой errno ещё может возникнуть.

В Linux сохраните errno сразу после первого неуспешного системного вызова: последующий library или cleanup вызов может заменить его и разрушить причинную связь. Полезные технические маркеры из контекста этой ошибки: ENAVAIL, errno, STREAMS, IPC, ABI. Записывайте их фактические значения или режимы, а не только символическое имя errno.

Диагностика

  • Если приложение не использует такую подсистему напрямую, найдите слой-адаптер, который преобразовал исходную ошибку в этот errno.
  • Проверьте документацию именно активной реализации: одинаковое символическое имя в старых UNIX-подсистемах могло иметь узкую область применения.
  • Сначала подтвердите реальный subsystem или compatibility layer, который вернул этот исторический errno; современный код может лишь транслировать его без исходного контекста.
  • Для Linux сопоставьте событие с process/thread, descriptor и точным syscall; после retry проверьте, не изменился ли объект под тем же числовым дескриптором.

Практическая проверка

Для ENAVAIL зафиксируйте конкретный XENIX semaphore set и операцию, которая запросила недоступный объект. Проверьте, существует ли эта IPC implementation в активной системе и не является ли errno только результатом старой таблицы совместимости. На современном окружении отсутствие реального XENIX subsystem — важный сигнал искать ошибочное отображение кода в библиотеке или эмуляторе.

Ссылки


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