Subject: [Boost-bugs] [Boost C++ Libraries] #4250: Interprocess tmp folder permission denied problem
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-05-24 17:43:08
#4250: Interprocess tmp folder permission denied problem
----------------------------------+-----------------------------------------
Reporter: josephsieh@⦠| Owner: igaztanaga
Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: interprocess
Version: Boost 1.44.0 | Severity: Problem
Keywords: |
----------------------------------+-----------------------------------------
shmData = new shared_memory_object (
create_only,
shmDataName,
read_write
);
When shared_memory_object is created, IPC will create a tmp folder
"boost_interprocess" in "C:\ProgramData" folder under Windows VISTA+, and
in "/tmp" under Mac. Then start to create a file under
"boost_interprocess" directory.
The issue happens when user A call the IPC
(C:\ProgramData\boost_interprocess" will be created), then switch to
another user B account, try to call the IPC again, then IPC will fail, due
to "boost_interprocess" is already created by user A, therefore, user B
has no permission to write anything into created "boost_interprocess"
folder.
A quick fix of this problem might be modification of "inline void
get_tmp_base_dir(std::string &tmp_name)" function in
"boost/interprocess/detail/tmp_dir_helpers.hpp".
In line 103, instead of using the same "/boost_interprocess", maybe
"boost_interprocess_$username" will be a solution for multiple users
problem.
This issue exists at least from 1.40.0 to 1.43.0.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4250> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:03 UTC