Sem efeito. Não está associado a armazenamento permanente.
Historicamente, misturar mmap () e read () / write () poderia dar resultados inconsistentes.
O Modern Linux é estruturado com muito cuidado para que funcione corretamente em todas as CPUs suportadas. Embora se o seu sistema for muito obscuro, você ainda pode ser a pessoa infeliz que encontra um bug específico do hardware.
O ponto é que em um sistema operacional compatível com POSIX, pode ser necessário usar msync () para liberar após gravar alterações em um mapa de memória de um arquivo, se você quiser ler () para trabalhar consistentemente depois. Se você quiser entender as regras POSIX, pode ser útil examinar o sinalizador MS_INVALIDATE de msync (), e o que sua existência implica:).
No entanto, o POSIX msync () é especificamente direcionado a mapeamentos associados ao armazenamento persistente. É deixado indefinido o efeito que tem em "objetos de memória compartilhada". Então, essa seria uma maneira bem obscura de responder sua pergunta original.
Também tenha em mente que, apenas porque algo implementa uma chamada de sistema com o mesmo nome que o POSIX, ela não fornece necessariamente as mesmas garantias que o POSIX. Apenas um pequeno número de versões do sistema operacional foi submetido ao pacote de testes POSIX. (Custa dinheiro).