Общая память для форка

Я хочу создать общую память между двумя процессами. Я использовал 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. Почему? Я создал общую память. Почему родительский процесс не может читать?

Ответы на вопрос(6)

Ваш ответ на вопрос