boostorg / boostorg/interprocess
Named mutex might not value permissions correctly
- Vorherrschende Sprache
- C++
- Sterne
- 185
- Forks
- 131
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, den POSIX named_mutex-Pfad bis zum im Issue beschriebenen Aufruf von ::sem_open nachzuverfolgen, wobei du dich darauf konzentrierst, wie die Werte von Permissions Object mit der Prozess-umask interagieren. Bestätige die resultierenden Berechtigungen mit set_unrestricted() und ermittle anschließend, ob das beabsichtigte Ergebnis eine Verhaltensänderung oder eine Dokumentation der Einschränkung ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100