Я создаю оболочку отправителя / получателя на основе boost::interprocess::message_queue
для отправки сообщений от одного процесса и получения их другим, вы можете просмотреть источники здесь: https://gist.github.com/onto/c322bb0a33433b775966
Возникла проблема, если я уничтожил объект отправителя, message_queue
был удален из системы, но получатель не был уведомлен об этом. Как это исправить?
Если message_queue
не существует при создании MessageQueueReceiver
объекта, он выдает исключение, это нормальное поведение для меня, но если я удалю message_queue
из системы, boost::interprocess::message_queue::receive
ничего не выдаст, boost::interprocess::message_queue::timed_receive
вернет false
, но это просто означает, что время ожидания истекло.