Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4655: [Interprocess] The shared_memory_object::remove return false on success
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-04-27 15:15:21
#4655: [Interprocess] The shared_memory_object::remove return false on success
----------------------------------------------------+-----------------------
Reporter: Kistner Eric <eric.kistner@â¦> | Owner: igaztanaga
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.46.1 | Severity: Problem
Resolution: | Keywords:
----------------------------------------------------+-----------------------
Changes (by Volker Wippel <Volker.Wippel@â¦>):
* status: closed => reopened
* version: Boost 1.44.0 => Boost 1.46.1
* resolution: fixed =>
Comment:
boost 1.46.1, WinXP, MS VC2005
shared_memory_object::remove still returns false on success in about 1 of
30 calls.
Label_A message below pops up.
{{{
string const name = m_ShMem->get_name();
m_TraceQueue->removeUser(); m_TraceQueue->~SharedMemTraceQueue();
delete m_ShRegion; delete m_ShMem;
for (bool toDelete = true; toDelete; ) {
toDelete =
!boost::interprocess::shared_memory_object::remove(name.c_str());
if (toDelete) {
struct stat buff; string fullName;
boost::interprocess::detail::tmp_filename(name.c_str(), fullName);
toDelete = (0 == stat(fullName.c_str(), &buff));
if (toDelete)
cerr << "Still trying to remove " << name << endl; //sleep...
else
cerr << name << " not existing anymore. Skip\n"; // Label_A
}
}
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4655#comment:2> 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:06 UTC