在同一个进程中,同一个文件的多个MAP_PRIVATE映射仍然是私有的吗?

Linuxmmap(2)说:

MAP_PRIVATE
创建私有的写时复制映射。映射的更新对映射同一文件的其他进程不可见,也不会传递到底层文件。未指定mmap()调用后对文件所做的更改在映射区域中是否可见。

我特别询问这部分:“映射同一文件的其他进程不可见”

但是这个过程中同一个文件的其他映射呢?

我知道“更改......不会传递到底层文件”,但这并不能清楚地表明这些更改是否影响同一文件的其他映射。

以下相关问题不回答这个问题:

  • 在 MAP_PRIVATE 上查询
  • 写入 MAP_PRIVATE 映射文件
  • 线程的 mmap 中 MAP_PRIVATE 和 MAP_SHARED 之间的区别

Nate Eldredge 指出POSIX mmap规范也没有指定这种行为,仅说明:

如果MAP_PRIVATE指定,则调用进程对映射数据的修改应仅对调用进程可见,并且不应更改底层对象。

以上是在同一个进程中,同一个文件的多个MAP_PRIVATE映射仍然是私有的吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>