Re: [Boost-bugs] [Boost C++ Libraries] #7666: Boost Thread SIGSEGV on join() when -D_GLIBCXX_DEBUG is used

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7666: Boost Thread SIGSEGV on join() when -D_GLIBCXX_DEBUG is used
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-09-17 20:13:44


#7666: Boost Thread SIGSEGV on join() when -D_GLIBCXX_DEBUG is used
-------------------------------------+-------------------------------------
  Reporter: Antonio Di Monaco | Owner: viboes
  <tony@…> | Status: assigned
      Type: Bugs | Component: thread
 Milestone: To Be Determined | Severity: Problem
   Version: Boost 1.52.0 | Keywords: thread SIGSEGV C++11
Resolution: | -D_GLIBCXX_DEBUG
-------------------------------------+-------------------------------------

Comment (by viboes):

 I don't understand how the error is in


 {{{
 45 i->second->unlock();
 }}}


 after the patch. The patch ensure that there are no elements in notify and
 so the following code shouldn't crash.


 {{{
     thread_data_base::~thread_data_base()
     {
         for (notify_list_t::iterator i = notify.begin(), e = notify.end();
                 i != e; ++i)
         {
             i->second->unlock();
             i->first->notify_all();
         }
         for (async_states_t::iterator i = async_states_.begin(), e =
 async_states_.end();
                 i != e; ++i)
         {
             (*i)->make_ready();
         }
     }
 }}}


 Please could you comment the code inside this function in
 src/win32/thread.cpp?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7666#comment:12>
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:14 UTC