[Boost-bugs] [Boost C++ Libraries] #12416: shared_mutex::state_data exceptions thrown in synthetic tests

Subject: [Boost-bugs] [Boost C++ Libraries] #12416: shared_mutex::state_data exceptions thrown in synthetic tests
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-28 23:21:13


#12416: shared_mutex::state_data exceptions thrown in synthetic tests
-------------------------------------+----------------------
 Reporter: Tomer Gal <Tomer.Gal@…> | Owner: anthonyw
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
  Version: Boost 1.61.0 | Severity: Problem
 Keywords: |
-------------------------------------+----------------------
 Hi,
 My name is Tomer Gal.

 We have created synthetic benchmarks in which we create many threads. This
 causes shared_mutex to throw an exception when it has more than 2047
 waiting threads due to the following limits:
         struct state_data
         {
             unsigned shared_count:11,
                 shared_waiting:11,
                 exclusive:1,
                 upgrade:1,
                 exclusive_waiting:7,
                 exclusive_waiting_blocked:1;

 Obviously, creating more than 2047 threads waiting for a lock is too much
 for 'normal' code... however, the boost library shouldn't be the limiting
 factor for such a usage in my opinion.

 The state_data is currently limited to the size of(long) which is 32 bits,
 and it looks like it could be increased to 64 bits.

 Could this be fixed?

 Regards,
 Tomer Gal, CTO at OpTeamizer

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