Subject: [Boost-bugs] [Boost C++ Libraries] #10967: Timed wait points inconsistently convert relative to absolute waits
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-24 19:54:24
#10967: Timed wait points inconsistently convert relative to absolute waits
------------------------------+----------------------
Reporter: ned14 | Owner: anthonyw
Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
Version: Boost 1.57.0 | Severity: Problem
Keywords: |
------------------------------+----------------------
Possibly related: #6787
Stepping through the Boost.Thread win32 implementation,
interruptible_wait() and non_interruptible_wait() are capable of accepting
both relative and absolute timeouts. However condition_variable and thread
join are always implemented as absolute timeouts, while thread sleep is
always implemented as relative timeouts. I also see that timed mutex
always converts absolute to relative too on win32.
These all should be fixed to correctly use either relative or absolute
timeouts as requested by the user, firstly at the upper layers where
necessary. Then all waits on Windows always need to go via
interruptible_wait() or non_interruptible_wait() as appropriate as these
implement the proper calls on Windows for absolute deadline timers when
absolute timeouts are requested.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10967> 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:17 UTC