14.5. Функция shmctl
Функция shmctl позволяет выполнять различные операции с сегментом разделяемой памяти:
#include
int shmctl(int shmid, int and, struct shmid_ds *buff);
/* Возвращает 0 в случае успешного завершения, –1 в случае ошибки */
Команд (значений аргумента cmd) может быть три:
IPC_RMID — удаление сегмента разделяемой памяти с идентификатором shmid из системы;
IPC_SET — установка значений полей структуры shmid_ds для сегмента разделяемой памяти равными значениям соответствующих полей структуры, на которую указывает аргумент buff: shm_perm.uid, shm_perm.gid, shm_perm.mode. Значение поля shm_ctime устанавливается равным текущему системному времени;
IPC_STAT — возвращает вызывающему процессу (через аргумент buff) текущее значение структуры shmid_ds для указанного сегмента разделяемой памяти.