Ticket #3304 (closed Feature Requests: fixed)

Opened 8 years ago

Last modified 7 years ago

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

Reported by: scott_yoder@… Owned by: igaztanaga
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.


Change History

comment:1 Changed 7 years ago by igaztanaga

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from Boost 1.40.0 to Boost-1.45.0

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


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

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

Note: See TracTickets for help on using tickets.