8 ms·
What if in the time between initialization of cosmic_ray to False, and the time this if statement executes, a legitimate cosmic ray flips the bool bit represent
by rjp0008 9mo ago
What if in the time between initialization of cosmic_ray to False, and the time this if statement executes, a legitimate cosmic ray flips the bool bit representing cosmic_ray?
- wavemode 9mo agoah, a classic TORTOF bug (time-of-ray, time-of-flip)
- sunrunner 9mo agoThis is a really good point and a common error in bit flip detection code. To avoid this kind of look-before-you-leap hazard the following is recommended: try { do_action() } catch (BitFlipError e) { logger.critical("Shouldn't get here") } Ask-for-forgiveness as an error detection pattern avoids these kinds of errors entirely.
- terminalshort 9mo agoSimple! Make it an int. int cosmic_ray = 0 if (bool(cosmic_ray)) { throw cosmicRayException() }