首页 > 解决方案 > 在映射区域时,根据`MAP_HASSEMAPHORE`,OSX(和旧 BSD)需要做什么“特殊处理”?

问题描述

https://www.freebsd.org/cgi/man.cgi?query=mmap&apropos=0&sektion=2&manpath=FreeBSD+10.3-RELEASE&arch=default&format=html

MAP_HASSEMAPHORE

通知内核该区域可能包含信号量并且可能需要特殊处理。

然而,这个标志自 FreeBSD 10.4 起就消失了,OpenBSD 支持但忽略它。

https://man.openbsd.org/mmap.2

但它仍然存在于 macOS 中(根据我的安装至少到 Mojave)。

这面旗帜到底是什么意思?为什么 Linux 一开始就不需要这种“特殊处理”?

标签: linuxmacosbsd

解决方案


推荐阅读