Я пытаюсь использовать очередь сообщений для связи между двумя несвязанными процессами в Linux. Я знаю, что использование общего значения ключа позволит нам открыть одну и ту же очередь сообщений в обоих несвязанных процессах. Но проблема в том, что иногда значение ключа, соответствующее очереди сообщений, может уже использоваться какой-то системной утилитой. Поэтому я использую IPC_CREAT | Флаги IPC_EXEL для обеспечения обязательного создания новой очереди сообщений.
В случае, если msgget() возвращает ошибку, я увеличиваю значение ключа и повторяю попытку создать новую очередь сообщений, пока не добьюсь успеха. Теперь проблема заключается в том, как передать это успешное значение ключа другому несвязанному процессу, который хочет работать с той же очередью сообщений.
Я что-то упускаю? Кто-нибудь сталкивался с подобными проблемами раньше?