Можно ли динамически изменять размер разделяемой памяти, созданной ранее, кроме как удаления старой области и создания новой?
Менять размер нельзя. Можно поиграться с сегментацией: понадобилась
ещё память - создал новый сегмент, а в отдельном сегменте дескрипторов
сделал об этом факте запись.
>Можно ли динамически изменять размер разделяемой памяти, созданной ранее, кроме как удаления
>старой области и создания новой?
Вопрос в стиле "а есть ли Бог?".Ну если сузить вопрос до реализаций в Linux(вероятно есть еще куча реализаций shmem кроме реализаций в Linux), то для SystemV - нельзя,
а для POSIX - можно (с помощью truncate).
благодарю, теперь ситуация ясна
Извиняюсь,ftruncate, конечно же.fd = shm_open(...);
...
ftruncate(fd,...);
...
ftruncate(fd,...);