Re: [Boost-bugs] [Boost C++ Libraries] #4655: [Interprocess] The shared_memory_object::remove return false on success

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