Как определить, действительно ли это проблема коллизии в общей памяти?
Easy: вызовите ftok()
с теми же параметрами, что и ваш реальный код, и сравните два ints
, которые возвращаются на равенство.
То есть, если возвращаемый ключ уникален, сгенерированное пространство разделяемой памяти также не подвержено конфликтам?
Пока ключи различны, два сегмента памяти полностью независимы.
Приложение может поместить любые значения в два сегмента, которые оно желает. Если приложение хочет поместить значения, например, в сегмент1, указывающий на значения в сегменте2, приложение должно сохранять все ссылки прямыми.