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

 
Также может означать:
КонстантаТипОС
KERN_SEMAPHORE_DESTROYEDКод возврата ядра macOSmacOS
ippStsI18nGetMessageFailСтатус Intel IPPЛюбая
ENOPROTOOPTerrnomacOS
EUNATCHerrnoSolaris
EILSEQerrnoWindows
INCONSISTENT_IRPКод BSODWindows
Предыдущий Следующий
ENOTEMPTY ENOPROTOOPT

ENOMSG

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

ENOMSG: Сообщение требуемого типа отсутствует. Очередь IPC существует, но подходящее сообщение по заданному selector/type сейчас отсутствует; меняйте только политику ожидания, не пересоздавайте очередь без причины.

Особенности Linux

В Linux классический источник ENOMSG — System V msgrcv() с IPC_NOWAIT, когда в очереди нет сообщения требуемого типа. Сохраните queue ID, requested message type и flags. Это не означает повреждение очереди: нужное сообщение может отсутствовать штатно, поэтому retry должен учитывать producer и семантику выбора типа.

Ссылки


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