0
我有一位創建共享內存區域的作者,我想確保讀者在作者準備好之前無法shm_open()該區域。我這樣做的做法是編寫者將shm_open在只讀模式。一旦該區域正確構建,我chmod()該文件。這很糟糕,我不能fcntl()文件描述符來更改權限。任何建議(短缺在該地區做一些可怕的同步?)共享內存:位置和鎖定策略
爲什麼是chmod()yucky?部分原因是沒有glibc代碼(暴露的是)告訴我共享內存區域在哪裏(例如/ dev/shm)。在glibc中有一些代碼可以查看坐騎,我不想複製它,但如果沒有人能給我比chmod()更好的解決方案,可能沒有選擇。
這正是同步功能的用途。例如,該地區的進程共享互斥體就是完美的。 –