Re: [Boost-bugs] [Boost C++ Libraries] #2219: conditional_variable_any::any fails to release recursive_mutex when mutex has been acquired by the same thread more than one time

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #2219: conditional_variable_any::any fails to release recursive_mutex when mutex has been acquired by the same thread more than one time
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-01-16 19:09:12


#2219: conditional_variable_any::any fails to release recursive_mutex when mutex
has been acquired by the same thread more than one time
--------------------------------------+-------------------------------------
  Reporter: brad_wade_at_[hidden] | Owner: anthonyw
      Type: Bugs | Status: closed
 Milestone: Boost 1.36.0 | Component: thread
   Version: Boost 1.36.0 | Severity: Regression
Resolution: wontfix | Keywords: condition_variable_any recursive_mutex
--------------------------------------+-------------------------------------

Comment(by gpeele_at_[hidden]):

 The core issue seems to be the POSIX implementation of recursive_mutex.
 There is not enough information provided by POSIX to reliably save and
 restore the lock count, and it's not clear how much performance would have
 to be sacrificed to manage this state in the Boost recursive_mutex
 implementation. Since nothing else would require this lock state
 information, I assume that's why this design choice was chosen.

 As mentioned, calling lock() and unlock() multiple times inside
 condition_variable_any in would be unsafe, especially since this is very
 specific to recursive_mutex and may break the behavior for other mutex
 types.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/2219#comment:4>
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:49:59 UTC