Имам структура:
struct sdata {
int x;
int y;
time_t time;
};
Създавам споделена памет за структурата, както следва:
size_t shmsize = sizeof(struct sdata);
shmid = shmget(IPC_PRIVATE, shmsize, IPC_CREAT | 0666);
След това влизам в споделената памет по следния начин:
struct sdata *data = shmat(shared.shmid, (void *) 0, 0);
data->time = time(NULL); // function returns the current time
Въпросът ми е доста прост. Това ли е правилният начин за достъп/промяна на споделената памет? Това ли е най-добрият подход?
(Използвам семафори на System V за синхронизация и не съм включил този код. Просто исках да се уверя, че осъществявам достъп/модифицирам споделената памет правилно.)