shmid = shmget(shmky, 0, S_IRUSR|S_IWUSR|S_IWGRP|S_IRGRP);
/* resize (BEGIN) */
printf(" size A:[%d]\n", shmid_ds.shm_segsz);
shmid_ds.shm_segsz ++;
printf(" size B:[%d]\n", shmid_ds.shm_segsz);
/* FAIL 이렇게 하면 안되고
* if (shmctl(shmid, IPC_SET, &shmid_ds) != 0)
* return (0);
*/
/* SUCCESS 이렇게 해야 한다 */
if (shmctl(shmid, SHM_SIZE, &shmid_ds) != 0) {
return (0);
}
/* resize (END) */
printf("AFTER-----------------------------------------------------------\n");
printf("size [%d], pid_shmop [%d] pid_creat [%d]\n",
shmid_ds.shm_segsz,
shmid_ds.shm_lpid, shmid_ds.shm_cpid);