Re: [Boost-bugs] [Boost C++ Libraries] #11562: Timer (using steady_clock) expires after computer time is set forward on Ubuntu 64-bit

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11562: Timer (using steady_clock) expires after computer time is set forward on Ubuntu 64-bit
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-10-21 08:40:42


#11562: Timer (using steady_clock) expires after computer time is set forward on
Ubuntu 64-bit
---------------------------+----------------------------------------
  Reporter: boriss@… | Owner: viboes
      Type: Bugs | Status: reopened
 Milestone: Boost 1.60.0 | Component: thread
   Version: Boost 1.59.0 | Severity: Showstopper
Resolution: | Keywords: steady_clock, Linux 64-bit
---------------------------+----------------------------------------

Comment (by boriss@…):

 Our code is following:
 {{{
 boost::recursive_mutex m_CsQueuedItems;
 boost::recursive_mutex::scoped_lock _lock1(m_CsQueuedItems);
 boost::condition_variable_any m_EvQueuedItems;

 boost::chrono::time_point<boost::chrono::steady_clock>
 untilTime(boost::chrono::steady_clock::now() +
 boost::chrono::milliseconds(500));

 m_EvQueuedItems.wait_until(_lock1, untilTime);
 }}}

 We are calling wait_until from the new thread.

 If we use mutex instead of recursive_mutex then we don't get segmentation
 fault.
 But like explained above we need recursive mutex.
 Hope this helps.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11562#comment:30>
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:19 UTC