Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5392: Message queue temporary dir named "Select LastBootUpTime from Win32_OperatingSystem" (on win XP)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-11-08 22:46:20
#5392: Message queue temporary dir named "Select LastBootUpTime from
Win32_OperatingSystem" (on win XP)
-------------------------------+--------------------------------------------
Reporter: wsx22@⦠| Owner: igaztanaga
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.46.1 | Severity: Problem
Resolution: | Keywords: interprocess, message queue, temporary directory, temp
-------------------------------+--------------------------------------------
Comment (by anonymous):
I have just looked at the Boost.Interprocess temp folder management on
Windows, here:
http://svn.boost.org/svn/boost/trunk/boost/interprocess/detail/tmp_dir_helpers.hpp
(function get_tmp_base_dir). The bootstamp has been disabled, which
sidesteps the problem of having to find a reliable way to formulate a
directory name that is unique for each boot.
Because of this, however, a program running with Boost.Interprocess 1.48
will see all its shared memory objects (and probably other
Boost.Interprocess constructs) deleted as soon as a program with
Boost.Interprocess <=1.47 runs on this machine.
So I am suggesting that the "boost_interprocess" created by
get_tmp_base_dir() directory (placed inside the Windows shared documents
folder) gets renamed so that the folder cleanup done by the
create_tmp_and_clean_old*() functions does not wipe 1.48
Boost.Interprocess shared memory (and other) objects. I don't really have
a good suggestion for the new name... boost_interprocess_2, I guess; not
sure how this aspect of the component is versioned.
I know this because I have recently patched my version of Boost 1.47 with
the changes I saw coming in 1.48, and I now realize that applications
using an earlier version of Boost (1.42, in my case) are cleaning up the
boost_interprocess folder. Hope it's not too late for this change to be
done.
Incidentally, an entry point to let the programmer override this directory
name would be useful (so that one can have a real "namespace" for his or
her use of Boost.Interprocess objects), but this can be discussed
separately.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5392#comment:23> 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:07 UTC