Что означает код errno 91 (ENOMSG)?

 
Также может означать:
КонстантаТипОС
EPROTOTYPEerrnoLinux
ERESTARTerrnoSolaris
SET_ENV_VAR_FAILEDКод BSODWindows
Предыдущий Следующий
EPROTOTYPE ERESTART

ENOMSG

Отсутствующее совпадение отличается от отсутствующей очереди

ENOMSG связан с семантикой очередей сообщений, когда очередь существует, но сообщения запрошенного типа или выбора сейчас нет. Он не означает, что отправитель отсутствует навсегда, и не доказывает недопустимость идентификатора очереди.

Вызывающая сторона должна сохранять критерии выбора в диагностике: ID очереди, запрошенный тип, неблокирующий режим и текущую глубину очереди, если доступна. Изменение фильтра типа только ради исчезновения ошибки может потребить сообщение, предназначенное другому получателю.

Как рассуждать о повторах

  • Используйте обычный механизм уведомлений или блокировки очереди, когда ожидание допустимо; не выполняйте плотный опрос.
  • Запишите, был ли приём неблокирующим и использовался ли выбор по типу.
  • Отличайте ENOMSG от EIDRM: первый описывает отсутствие подходящего сообщения, второй — объект, удалённый в течение его жизненного цикла.

Ссылки


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