Opened 12 years ago

Closed 12 years ago

#4350 closed Bugs (fixed)

Shared memory permission limitations

Reported by: carla.strembicke@… Owned by: Ion Gaztañaga
Milestone: Boost 1.45.0 Component: interprocess
Version: Boost 1.44.0 Severity: Problem
Keywords: Cc:

Description

Using boost shared memroy. One process creates shared memory runnig as an administrator on windows.

share_memory_object( open_or_create, <sharename>, read_write)

This returns success and a temp file is created: C:/ProgramData/boost_interprocess/##########/<sharename>

Another process ( not running as administrator) tries to open and map to shared memory.

share_memory_object( open_only, <sharename>, read_write)

This failes with an "access denied" error

On further investigation the following call fails on windows:

CreateFileA(....)

After futher investigation it is determined that the file permissions( security ) is only read for other users. Once these permissions are opened up( manually) for full access to all users, the CreateFileA(...) returns success.

IN other words.......the process running as administrator runs and creates temp file. Then the file permissions need to be adjusted to allow full access. Then the second process can come in and open the file.

Change History (1)

comment:1 by Ion Gaztañaga, 12 years ago

Milestone: Boost 1.43.0Boost-1.45.0
Resolution: fixed
Status: newclosed

A new permission scheme is added for boost 1.45 in release branch. You can specify permissions for shared memory.

Note: See TracTickets for help on using tickets.