-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
8
The current code base uses atomic operations through platform specific APIs available on all supported systems. The current code mixes atomic and non-atomic operations according to context the variable is accessed in, and whether or not historical values yield acceptable behavior.
Mixing atomic/non-atomic operations is a data race and as such is undefined behavior.
Insights gained from studying the semantics of the C/C++ memory model could be applied to the existing code.
This arose from a discussion around WT-11460; and the purpose of this ticket is to account for effort in facilitating a discussion.