On 29/05/20 07:17 +0100, Mike Crowe via Libstdc++ wrote:
This series ensures that the std::future::wait_* functions use
std::chrono::steady_clock when required, introduces
std::chrono::__detail::ceil to make that easier to do, and then makes
use of that function to simplify and improve the fix for PR68519 in
std::condition_variable.
v1 of this series was originally posted back in September 2017 (see
https://gcc.gnu.org/ml/libstdc++/2017-09/msg00083.html )
v2 of this series was originally posted back in January 2018 (see
https://gcc.gnu.org/ml/libstdc++/2018-01/msg00035.html )
v3 of this series was originally posted back in August 2018 (see
https://gcc.gnu.org/ml/libstdc++/2018-08/msg00001.html )
v4 of this series was originally posted back in October 2019 (see
https://gcc.gnu.org/legacy-ml/gcc-patches/2019-10/msg01934.html )
Changes since v4:
* Expose std::chrono::ceil as std::chrono::__detail::ceil so that it
can be used to fix PR91486 in std::future::wait_for (as suggested by
John Salmon in PR91486.)
* Use std::chrono::__detail::ceil to simplify fix for PR68519 in
std::condition_variable::wait_for.
* Also fix equivalent of PR68519 in
std::condition_variable::wait_until and add test.
I've pushed this series (except for patch 8/8) to trunk now, with only
minor indentation changes in the code and some ChangeLog reformatting.
Thanks for your persistence in getting this fixed, and sorry it took
so many years!