Race
A race is not a thing you describe, it is a thing you reproduce. Every run of this kernel is determined by a seed, so an interleaving is a number — which turns “it sometimes fails” into a list you can read.
- Two children, one file, no orderDescriptors · 5 min
The assumption: The children write in the order they were forked.
- The file was there when you askedDescriptors · 7 min
The assumption: If
accesssays the file is there, theopenthat follows will find it. - A deadlock is not a raceDescriptors · 6 min
The assumption: A pipe program that hangs sometimes will work under some other schedule.