babbage% gcc -o read-write-3 read-write-3.c && read-write-3 The reader process begins. The writer process begins. Writer's report: item 0 put in buffer Reader's report: item 0 == 0 Writer's report: item 1 put in buffer Reader's report: item 1 == 1 Writer's report: item 2 put in buffer Writer's report: item 3 put in buffer Writer's report: item 4 put in buffer Reader's report: item 2 == 4 Writer's report: item 5 put in buffer Writer's report: item 6 put in buffer Writer's report: item 7 put in buffer Reader's report: item 3 == 9 Writer's report: item 8 put in buffer Reader's report: item 4 == 16 Writer's report: item 9 put in buffer Reader's report: item 5 == 25 Reader's report: item 6 == 36 Reader's report: item 7 == 49 Reader's report: item 8 == 64 Reader's report: item 9 == 81 Reader done. Writer done. Semaphore cleanup complete. babbage% read-write-3 The reader process begins. The writer process begins. Writer's report: item 0 put in buffer Reader's report: item 0 == 0 Writer's report: item 1 put in buffer Reader's report: item 1 == 1 Writer's report: item 2 put in buffer Writer's report: item 3 put in buffer Writer's report: item 4 put in buffer Reader's report: item 2 == 4 Reader's report: item 3 == 9 Reader's report: item 4 == 16 Writer's report: item 5 put in buffer Writer's report: item 6 put in buffer Writer's report: item 7 put in buffer Writer's report: item 8 put in buffer Reader's report: item 5 == 25 Reader's report: item 6 == 36 Reader's report: item 7 == 49 Writer's report: item 9 put in buffer Reader's report: item 8 == 64 Reader's report: item 9 == 81 Reader done. Writer done. Semaphore cleanup complete.