boostorg / boostorg/interprocess
Named mutex might not value permissions correctly
- 主要言語
- C++
- スター
- 185
- フォーク
- 131
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Hi!
When using a named_mutex within POSIX, and setting the Permissions Object, everything boils down to an ::sem_open call. There, the permissions are passed. But ::sem_open masks the permissions with the processes umask. Therefore, the semaphore might not have 0666 permissions, but e.g. 644, even though, permissions were passed with set_unrestricted().
Workaround there would be setting umask to 0 before ::sem_open, and restoring again after.
At least, this behaviour should be documented.
Regards,
Matthias
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、issue で説明されている ::sem_open 呼び出しまで POSIX named_mutex の経路を追跡し、Permissions Object の値がプロセスの umask とどのように相互作用するかに注目します。set_unrestricted() で結果として得られる権限を確認し、意図した結果が動作の変更なのか、それとも制限の文書化なのかを判断します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- operating-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100