overly strict semantics
overly strict semantics
Posted Jan 15, 2026 15:40 UTC (Thu) by bertschingert (subscriber, #160729)In reply to: overly strict semantics by milesrout
Parent article: READ_ONCE(), WRITE_ONCE(), but not for Rust
The GCC atomic intrinsics seem to get this right. I'm not sure if there's a portable way to do atomic operations on regular int types, though.
OTOH, what I like about the Rust (and C/C++11?) atomics is that the type system prevents accidentally introducing data races because you can't do a non-atomic load/store to an atomic type -- at least without unsafe code. Given that the article mentions there are cases in C where READ_ONCE() and WRITE_ONCE() should have been used, but weren't, this seems to be a real risk.
