Общая память для форка
Я хочу создать общую память между двумя процессами. Я использовал fork (). Ребенок пытается изменить эту общую память, и мать создает другого ребенка, поэтому новый ребенок пытается изменить ту же самую память и так далее. Вот мой код в программировании на Си. (Убунт)
mylist ch=NUL;
f=fork();
if(!f){
pba=shmget(KEYSHM,sizeof(char),0); /*created shared memory*/
ch=(mylist *) shmat(pba,0,0);
ch->name=ugur;
ch->surname=cedric;
...do something...
}
else{
if(ch)
printf("this is top of mylist %s"ch->name);
.......do something
}
Никогда не пишет ch-> name. Почему? Я создал общую память. Почему родительский процесс не может читать?