--- shared_mmap.c.orig 2013-07-16 15:58:02.949981134 -0700 +++ shared_mmap.c 2013-07-24 18:10:24.963548970 -0700 @@ -22,7 +22,9 @@ int fd = open(DATA,O_RDWR|O_CREAT|O_TRUNC,0666); int count=7; - if (fd == -1) exit(1); + if (fd == -1) { + exit(1); + } for (i=0;i<10000;i++) { write(fd,&i,sizeof(i)); @@ -32,37 +34,56 @@ if (fork() == 0) { fd = open(DATA,O_RDWR); - if (fd == -1) exit(1); + if (fd == -1) { + exit(1); + } buf = (int *)mmap(NULL, 10000*sizeof(int), (PROT_READ | PROT_WRITE), MAP_FILE | MAP_SHARED, fd, 0); - while (count-- && buf[9124] != 55732) sleep(1); - - if (count <= 0) exit(1); + if (buf == MAP_FAILED) { + exit(1); + } + + while (count-- && buf[9124] != 55732) { + sleep(1); + } + + if (count <= 0) { + exit(1); + } buf[1763] = 7268; exit(0); } fd = open(DATA,O_RDWR); - if (fd == -1) exit(1); + if (fd == -1) { + exit(1); + } buf = (int *)mmap(NULL, 10000*sizeof(int), (PROT_READ | PROT_WRITE), MAP_FILE | MAP_SHARED, fd, 0); - if (buf == (int *)-1) exit(1); + if (buf == MAP_FAILED) { + exit(1); + } buf[9124] = 55732; - while (count-- && buf[1763] != 7268) sleep(1); + while (count-- && buf[1763] != 7268) { + sleep(1); + } unlink(DATA); - if (count > 0) exit(0); + if (count > 0) { + exit(0); + } + exit(1); }