Sometimes a race condition looks like flaky hardware. Sometimes they kill people. Look up what happened with the Therac 25.(That would be a pretty good movie.)
On Wednesday, May 10, 2017, 10:34:15 PM MDT, Chris Albertson <albertson.ch...@gmail.com> wrote:The sequence of instructions really is different each time you boot. Certainly interrupts and task switching happens in different places. The classic "goof" programmers make in writing systems that have multiple tasks going on at the same time is the "race". Program "A" saves the value of "X" and program "B" reads the value of "X" and this works 99.999 % of the time but fails randomly 0.0001% of the time. Same code. The programmer forgets that "X" is more then one byte and take a couple machine cycles to write and as lick would have it program A is interrupted when X is 1/2 written so program B sees gibberish. Then A continues and writes the other half of X. So the cost is the same but where each task gets interrupted is different and with cooperating real tie tasks, you have to put up critical sections around accesses to shared shared data. there are other things like this too. Mistakes like this typically look like flaky hardware ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users