#include #include #include #include #include #include main() { int fd, *a; /* allocate shared memory */ if( (fd=open("/dev/zero", O_RDWR)) < 0 ){ perror("open /dev/zero error"); exit(1); } if( (a=mmap(0, sizeof(int), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == -1 ){ perror("mmap error"); exit(1); } *a = 14; printf("a = %d\n", *a); if( (fork()) == 0){ *a = 21; } printf("a = %d\n", *a); }