In C++, how are data races defined for memory from a memory-mapped file that is accessed by multiple threads from the same process?
According to this, data races are defined with respect to memory locations and memory locations are defined as:
an object of scalar type (arithmetic type, pointer type, enumeration type, std::nullptr_t)
or
the largest contiguous sequence of bit fields of non-zero length
A memory mapped file is initialized as a void*. What are the memory locations of the memory pointed to by a void*? Does it depend on how accesses are type casted?
Aucun commentaire:
Enregistrer un commentaire