Re: [Boost-bugs] [Boost C++ Libraries] #10964: future<future<T>>::unwrap().then() Deadlocks

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10964: future<future<T>>::unwrap().then() Deadlocks
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-08-28 05:01:53


#10964: future<future<T>>::unwrap().then() Deadlocks
-------------------------------+----------------------
  Reporter: code@… | Owner: viboes
      Type: Bugs | Status: reopened
 Milestone: To Be Determined | Component: thread
   Version: Boost 1.57.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+----------------------

Comment (by viboes):

 Matteo, could you try with

 {{{
 #define BOOST_THREAD_VERSION 4
 }}}

 Version 5 has not been delivered officially.

 The main difference of version 5 would be that
 BOOST_THREAD_ASYNC_FUTURE_WAITS is not defined
 (BOOST_THREAD_FUTURE_BLOCKING neither).

 {{{
           ~future_async_shared_state_base()
           {
 #ifdef BOOST_THREAD_FUTURE_BLOCKING
             join();
 #elif defined BOOST_THREAD_ASYNC_FUTURE_WAITS
             unique_lock<boost::mutex> lk(this->mutex);
             while(!this->done)
             {
               this->waiters.wait(lk);
             }
 #endif
           }
 }}}

 but I have no tested it too much. It seems that there are some big
 implications.

-- 
Ticket URL: <https://svn.boost.org/trac10/boost/ticket/10964#comment:21>
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-08-28 05:08:46 UTC