[Boost-bugs] [Boost C++ Libraries] #4619: Interprocess failed to find the tmp directory (windows platform) if the tmp directory stored in the registry points to a none-existing directory

Subject: [Boost-bugs] [Boost C++ Libraries] #4619: Interprocess failed to find the tmp directory (windows platform) if the tmp directory stored in the registry points to a none-existing directory
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-09-02 05:35:00


#4619: Interprocess failed to find the tmp directory (windows platform) if the tmp
directory stored in the registry points to a none-existing directory
----------------------------------+-----------------------------------------
 Reporter: josephsieh@… | Owner: igaztanaga
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
  Version: Boost 1.44.0 | Severity: Problem
 Keywords: |
----------------------------------+-----------------------------------------
 shmData = new shared_memory_object (

 create_only, shmDataName, read_write

 );

 This problem only happens in the windows platform (XP, VISTA, Windows 7,
 both 32 and 64 bits).

 When you try to "new" shared_memory_object, IPC will search system defined
 tmp directory. IPC tries to search the tmp folder location stored in the
 system registry first. If the registry does not have the tmp folder
 location (either being deleted accidentally or intentionally), IPC will
 continue to search the system environment variable "TMP" and "TEMP" for
 the tmp directory information.

 Now, if the registry "DID" have tmp folder information, but that folder
 "DOES NOT" exist. Then IPC load the tmp folder location and tries to
 create the interprocess directory in that "NON-EXISTING" tmp folder, then
 IPC will terminate and throw an exception instead of continue to execute
 the fail-safe options -- continue to search the tmp folder information
 from system environment variable, etc.

 It should be considered as a bug.

 In summary, when IPC loads the non-existing tmp folder from the registry
 and tries to create "interprocess" folder in that non-existing tmp folder,
 IPC should not just throw exception but to continue to execute fail-safe
 options: continue to search the system environment for "TMP" and "TEMP" as
 the same behavior of not finding tmp directory info from the registry.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4619>
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:04 UTC