Re: [Boost-bugs] [Boost C++ Libraries] #5392: Message queue temporary dir named "Select LastBootUpTime from Win32_OperatingSystem" (on win XP)

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