boostorg / boostorg/interprocess

Named mutex might not value permissions correctly

Offen
#84 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.