Мы используем boost :: interprocess :: managed_shared_memory. Недавно во время тестирования мы обнаружили, что после сбоев процессов поиск в общей памяти застрял в API manage_shared_memory.
Мое первоначальное наблюдение заключается в том, что рекурсивная блокировка m_header, которая является членом сегмента_менеджера, находилась в заблокированном состоянии, в то время как процесс аварийно завершал работу и перезапускался.
Чтобы преодолеть или исправить такой сценарий, как на самом деле мы обнаруживаем такое состояние.
Примечание: версия библиотеки повышения - 1_35_0