Opened 8 years ago

Closed 7 years ago

#3304 closed Feature Requests (fixed)

Boost::interprocess message queues don't work if two processes are running as different users.

Reported by: scott_yoder@… Owned by: Ion Gaztañaga
Milestone: Boost 1.45.0 Component: interprocess
Version: Boost 1.39.0 Severity: Problem
Keywords: Cc:


message_queue is using the TMP environment variable to determine where to put the file that implements a shared memory object (on Windows and Mac OS X). The TMP environment variable gives different paths for different users under Windows and Mac OS X. Also, there are permission problems that wont allow a queue created by a windows service (or daemon on Mac) to be read from / written to by a user mode process (see ticket #1080). This makes the message queue unusable for a fairly typical use case.

Suggested fix: create a new message_queue constructor that takes as parameters a file path to be used as a shared memory object and what kind of permissions this file should have.

Attachments (0)

Change History (1)

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

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

New permission scheme and common temporary dir added added for Boost 1.45 in release branch

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Ion Gaztañaga.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.