У меня есть код, в котором повышенная разделяемая память используется одним писателем и многими читателями.
Писатель создает общую память, открывает ее с разрешениями на запись и время от времени записывает в нее данные.
Читатели постоянно приходят и уходят, каждый считыватель сопоставляется с общей памятью с привилегиями read_only, делает то, что делает, а затем вызывает удаление.
Проблема, кажется, в том, что когда читатель заканчивает делать то, что он делает. Он вызывает remove, однако remove удаляет файл shared_memory для новых читателей, и они не могут его сопоставить.
У меня вопрос: как процесс отключается от общей памяти, не удаляя ее? Похоже, что в библиотеке boost нет функции отсоединения.