Boost C++ Libraries: Ticket #4250: Interprocess tmp folder permission denied problem https://svn.boost.org/trac10/ticket/4250 <p> shmData = new shared_memory_object ( </p> <blockquote> <p> create_only, shmDataName, read_write </p> </blockquote> <p> ); </p> <p> When shared_memory_object is created, IPC will create a tmp folder "boost_interprocess" in "C:\<a class="missing wiki">ProgramData</a>" folder under Windows VISTA+, and in "/tmp" under Mac. Then start to create a file under "boost_interprocess" directory. </p> <p> The issue happens when user A call the IPC (C:\<a class="missing wiki">ProgramData</a>\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. </p> <p> A quick fix of this problem might be modification of "inline void get_tmp_base_dir(std::string &amp;tmp_name)" function in "boost/interprocess/detail/tmp_dir_helpers.hpp". </p> <p> In line 103, instead of using the same "/boost_interprocess", maybe "boost_interprocess_$username" will be a solution for multiple users problem. </p> <p> This issue exists at least from 1.40.0 to 1.43.0. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4250 Trac 1.4.3 Ion Gaztañaga Thu, 26 Aug 2010 10:59:40 GMT status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/4250#comment:1 https://svn.boost.org/trac10/ticket/4250#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.43.0</span> → <span class="trac-field-new">Boost-1.45.0</span> </li> </ul> <p> Fixed for Boost 1.45 in release branch (folder is created without all access). </p> Ticket