Boost logo

Boost :

Subject: Re: [boost] [interprocess] Different processes accessing shared memory in different locations
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2013-09-10 11:50:31

El 10/09/2013 12:01, Tom Sanham escribió:
> Hi
> Our application has the following scenario using Boost V1.0.52:
> 1) Process A writes to boost interprocess shared memory. The files
> appear at
> C:\ProgramData\boost_interprocess\...
> 2) Process A launches Process B
> 3) Process B attempts to read from shared memory but fails. It is
> attempting to read from:
> C:\Users\<username>\AppData\Local\Temp\boost_interprocess\...
> This failure only occurs on one single Windows 8 64 bit machine out of
> many we have tested. On all other machines, the application works
> perfectly.

If you look in boost/interprocess/detail/tmp_dir_helpers.hpp:

       if(tmp_name.empty() || !winapi::is_directory(tmp_name.c_str())){
          tmp_name = get_temporary_path();

if shared documents folder is not found, then the temporary path is
used. The shared documents folder is found in the registry in the
following key:

Folders\Common AppData

Hope it helps,


Boost list run by bdawes at, gregod at, cpdaniel at, john at