Re: [Boost-bugs] [Boost C++ Libraries] #4978: Deadlock on interrupt() all threads if they are in wait()

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4978: Deadlock on interrupt() all threads if they are in wait()
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-03-01 01:39:25


#4978: Deadlock on interrupt() all threads if they are in wait()
-------------------------------------+--------------------------------------
  Reporter: d.schneider@… | Owner: anthonyw
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: thread
   Version: Boost 1.46.0 | Severity: Showstopper
Resolution: | Keywords:
-------------------------------------+--------------------------------------
Changes (by moraleda@…):

  * version: Boost 1.45.0 => Boost 1.46.0

Comment:

 I am seeing this bug as well. The bug is still present in 1.46. To work
 around it, I have reordered the locks inside thread::interrupt(), so they
 are acquired in the same order as in condition_variable::wait() I am not
 submitting a patch because this does not seem like a clean solution since
 it involves acquiring the cond_mutex even if
 local_thread_info->current_cond is false.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4978#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:05 UTC