Is there a memory model specification for POSIX shared memory (across processes)?
I'm hoping that there's something to comparable to the C++ memory model, in order to answer questions like the following:
- Is there a definition of a data race?
- Are data races undefined behavior (as in C++)?
- Is there something to constrain memory visibility order across processes? I know that a pthread_mutex can be put in shared memory and used by multiple processes, but does that induce a happens before relation?
- Do memory barriers play a roll?