#include #include #include #include #include #include #include #include #include int main(int argc, char **argv) { int fd, i, val, pid,*ptr; sem_t mutex; ptr = mmap(0, 4, PROT_READ|PROT_WRITE,MAP_ANONYMOUS|MAP_SHARED, -1, 0); if( sem_init(&mutex,1,1) < 0) {perror("errore in sem_init"); exit(0); } pid=fork(); if (pid == 0) { for (i = 0; i < 10; i++) { val=(*ptr)++;printf("figlio: %d\n", val); } exit(0); } else{ for (i = 0; i < 10; i++) { val=(*ptr)++; printf("padre: %d\n", val); } exit(0); } }