jeudi 7 janvier 2021

C++ data race for memory mapped file

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