Re: [Boost-bugs] [Boost C++ Libraries] #2067: thread_group::join_all can't be interrupted using thread_group::interrupt_all

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #2067: thread_group::join_all can't be interrupted using thread_group::interrupt_all
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-04-30 13:47:09


#2067: thread_group::join_all can't be interrupted using
thread_group::interrupt_all
----------------------------+-----------------------------------------------
  Reporter: eb_at_[hidden] | Owner: anthonyw
      Type: Bugs | Status: new
 Milestone: Boost 1.36.0 | Component: threads
   Version: Boost 1.35.0 | Severity: Problem
Resolution: | Keywords:
----------------------------+-----------------------------------------------

Comment(by anonymous):

 This bug stems from join_all() holding a mutex while giving control to
 another thread. 2067.1.patch changes this behavior. The 2067.patch does
 this too but in an unsafe way - the list of threads can change while the
 list gets iterated. A better fix might combine the two ideas - having
 shared access for read-only (keeping exclusive access for list modifying
 routines), _and_ releasing the mutex while calling join().

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/2067#comment:1>
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:00 UTC