Common Concurrency Problems¶
Code examples from the chapter about concurrency problems.
Type make to build all examples.
Atomicity Failure¶
atomicity.c: Shows how uncareful check-then-use can crash codeatomicity_fixed.c: Shows how to fix the problem with a lock
Ordering Violation¶
ordering.c: Shows the ordering problem from the book chapterordering_fixed.c: Shows how to fix the problem with a condition variable
Deadlock¶
deadlock.c: Shows simple two-cycle deadlockdeadlock_run.sh: Script to run the above program many times, until you hit a deadlock and are convinced deadlock can occur