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