diff -ru boost_1_55_0.org/boost/interprocess/detail/tmp_dir_helpers.hpp boost_1_55_0/boost/interprocess/detail/tmp_dir_helpers.hpp --- boost_1_55_0.org/boost/interprocess/detail/tmp_dir_helpers.hpp Sun Sep 8 20:07:03 2013 +++ boost_1_55_0/boost/interprocess/detail/tmp_dir_helpers.hpp Tue Feb 11 08:16:03 2014 @@ -105,7 +105,7 @@ throw interprocess_exception(err); } //Remove final null. - tmp_name += "/boost_interprocess"; + tmp_name += "/" BOOST_INTERPROCESS_TMP_DIR; } inline void tmp_folder(std::string &tmp_name) diff -ru boost_1_55_0.org/boost/interprocess/detail/workaround.hpp boost_1_55_0/boost/interprocess/detail/workaround.hpp --- boost_1_55_0.org/boost/interprocess/detail/workaround.hpp Mon Sep 16 17:01:45 2013 +++ boost_1_55_0/boost/interprocess/detail/workaround.hpp Tue Feb 11 08:15:53 2014 @@ -189,6 +189,16 @@ #define BOOST_INTERPROCESS_NOEXCEPT_IF(x) noexcept(x) #endif +#if !defined(BOOST_INTERPROCESS_TMP_DIR) + #if !defined(BOOST_INTERPROCESS_WINDOWS) || defined(BOOST_INTERPROCESS_BOOTSTAMP_IS_LASTBOOTUPTIME) + #define BOOST_INTERPROCESS_TMP_DIR "boost_interprocess" + #else + /* Use a different dir name so pre-1.54 boost::interprocess doesn't + * errorneously remove the temp dir */ + #define BOOST_INTERPROCESS_TMP_DIR "boost_interprocess2" + #endif +#endif + #include #endif //#ifndef BOOST_INTERPROCESS_DETAIL_WORKAROUND_HPP