Opened 13 years ago

Closed 12 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:

Description

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 (1)

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

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

Note: See TracTickets for help on using tickets.