Opened 8 years ago

Closed 7 years ago

#5123 closed Bugs (fixed)

Interprocess: permissions are changed when opening a memory segment

Reported by: xavi@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.45.0 Severity: Problem
Keywords: Cc:


In linux, fchmod is used to set the permissions after successfully shm_opening a segment. This is good to circumvent the problems caused by umask, but there is an error and fchmod is also run when opening (as opposed to creating) the segment, which means that opening a segment always resets its permissions to the defaults.

This can be easily fixed by changing, in shared_memory_object.hpp, the line

if(m_handle >= 0)

right before the fchmod with:

if(m_handle >= 0 && type != detail::DoOpen?)

Change History (1)

comment:1 Changed 7 years ago by Ion Gaztañaga

Resolution: fixed
Status: newclosed

Fixed in Boost 1.47

Note: See TracTickets for help on using tickets.