[Boost-bugs] [Boost C++ Libraries] #4250: Interprocess tmp folder permission denied problem

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