카테고리 없음
프로그램에서 공유 메모리 크기를 바꾸려면
een
2009. 3. 6. 09:45
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);