You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
C:\Temp>type repro.cpp
#include <chrono>
#include <print>
#include <thread>
using picoseconds = std::chrono::duration<int64_t, std::ratio<1ll, 1'000'000'000'000ll>>;
int main()
{
auto t1 = std::chrono::steady_clock::now();
std::this_thread::sleep_for(picoseconds(1'000'000'000'000ll));
auto t2 = std::chrono::steady_clock::now();
std::println("{:%S}", t2 - t1);
}
C:\Temp>cl /EHsc /W4 /WX /std:c++latest .\repro.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.36.32522 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
/std:c++latest is provided as a preview of language features from the latest C++
working draft, and we're eager to hear about bugs and suggestions for improvements.
However, note that these features are provided as-is without support, and subject
to changes or removal as the working draft evolves. See
https://go.microsoft.com/fwlink/?linkid=2045807 for details.
repro.cpp
Microsoft (R) Incremental Linker Version 14.36.32522.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:repro.exe
repro.obj
C:\Temp>.\repro.exe
00.000057300
Expected behavior
The program should sleep for approximately a second but instead returns instantly.
STL version
MSVC version 19.41.33923
Additional context
A possible fix for this issue is to change:
constexpr auto _Forever = (chrono::steady_clock::time_point::max)();
in _To_absolute_time to:
constexpr auto _Forever = (std::chrono::time_point<std::chrono::steady_clock, decltype(_Abs_time)::duration>::max)();
The text was updated successfully, but these errors were encountered:
Describe the bug
Using integer durations with greater than nanosecond precision causes
std::this_thread::sleep_for
to not sleep.See https://godbolt.org/z/s37b31MsM and https://stackoverflow.com/questions/79355000/
Command-line test case
Expected behavior
The program should sleep for approximately a second but instead returns instantly.
STL version
MSVC version 19.41.33923
Additional context
A possible fix for this issue is to change:
in
_To_absolute_time
to:The text was updated successfully, but these errors were encountered: