Что означает код errno 35 (ENOMSG) в Solaris?

 
Также может означать:
КонстантаТипОС
KERN_INVALID_SECURITYКод возврата ядра macOSmacOS
ippStsDoubleSizeСтатус Intel IPPЛюбая
EDEADLKerrnoLinux
EAGAINerrnomacOS
FAT_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
EAGAIN ENAMETOOLONG

ENOMSG

Выбор сообщений в очереди System V

В Solaris ENOMSG имеет значение errno 35. Основное сообщение: Нет сообщения требуемого типа, но полезный диагностический контекст уже краткого сообщения: операция с очередью сообщений System V в Solaris не нашла сообщение запрошенного типа.

ENOMSG отличается от удаления очереди: если объект IPC уничтожен во время ожидания, ожидается EIDRM. ENOMSG означает, что очередь доступна, но текущий selector не находит подходящего сообщения.

Что проверить

  • Проверьте тип сообщения msgrcv, флаг IPC_NOWAIT и содержимое очереди.
  • Если очередь была удалена, следует ожидать EIDRM, а не ENOMSG.
  • Не повторяйте запрос вслепую, если не ожидается, что другой производитель поместит в очередь сообщение нужного типа.

Ссылки


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