0
我有一位创建共享内存区域的作者,我想确保读者在作者准备好之前无法shm_open()该区域。我这样做的做法是编写者将shm_open在只读模式。一旦该区域正确构建,我chmod()该文件。这很糟糕,我不能fcntl()文件描述符来更改权限。任何建议(短缺在该地区做一些可怕的同步?)共享内存:位置和锁定策略
为什么是chmod()yucky?部分原因是没有glibc代码(暴露的是)告诉我共享内存区域在哪里(例如/ dev/shm)。在glibc中有一些代码可以查看坐骑,我不想复制它,但如果没有人能给我比chmod()更好的解决方案,可能没有选择。
这正是同步功能的用途。例如,该地区的进程共享互斥体就是完美的。 –