babbage% gcc -o read-write-4 read-write-4.c && read-write-4 The writer process 1 begins. The writer process 2 begins. The writer process 4 begins. The writer process 3 begins. The writer process 5 begins. The writer process 6 begins. The reader process 2 begins. Reader 2: item 0 == 100 Reader 2: item 1 == 101 Reader 2: item 2 == 102 Reader 2: item 3 == 103 The reader process 1 begins. Reader 1: item 0 == 104 Reader 1: item 1 == 105 Reader 1: item 2 == 200 Reader 1: item 3 == 400 Reader 1: item 4 == 300 The reader process 3 begins. Reader 3: item 0 == 500 Reader 3: item 1 == 600 Reader 3: item 2 == 106 The reader process 4 begins. Reader 4: item 0 == 201 Reader 4: item 1 == 401 The reader process 5 begins. Reader 5: item 0 == 301 All child processes spawned by parent Parent waiting for children to finish Reader 2: item 4 == 501 Reader 1: item 5 == 601 Reader 1: item 6 == 107 Reader 1: item 7 == 202 Reader 1: item 8 == 402 Reader 1: item 9 == 302 Reader 4: item 2 == 602 Reader 4: item 3 == 108 Writer 1 done. Reader 4: item 4 == 203 Reader 4: item 5 == 403 Reader 3: item 3 == 502 Reader 3: item 4 == 503 Reader 3: item 5 == 603 Reader 3: item 6 == 109 Reader 3: item 7 == 204 Reader 4: item 6 == 303 Reader 5: item 1 == 404 Reader 5: item 2 == 405 Reader 5: item 3 == 504 Reader 5: item 4 == 604 Reader 5: item 5 == 205 Reader 2: item 5 == 406 Reader 2: item 6 == 304 Reader 2: item 7 == 505 Reader 2: item 8 == 605 Reader 1: item 10 == 206 Reader 4: item 7 == 305 Reader 4: item 8 == 506 Reader 4: item 9 == 606 Reader 4: item 10 == 207 Writer 4 done. Reader 4: item 11 == 408 Reader 3: item 8 == 407 Reader 3: item 9 == 306 Reader 3: item 10 == 507 Reader 3: item 11 == 607 Reader 3 done. Writer 2 done. Reader 5: item 6 == 208 Reader 5: item 7 == 409 Writer 5 done. Reader 5: item 8 == 307 Writer 6 done. Reader 5: item 9 == 508 Writer 3 done. Reader 5: item 10 == 608 Reader 2: item 9 == 209 Reader 2: item 10 == 308 Reader 2: item 11 == 509 Reader 2 done. Reader 1: item 11 == 609 Reader 1 done. Reader 4 done. Reader 5: item 11 == 309 Reader 5 done. Semaphore cleanup complete.