Use clock interfaces to precisely control time

This commit is contained in:
Maurice Heumann
2025-03-18 11:48:44 +01:00
parent 0a28b13d07
commit 450e3c2a9c
15 changed files with 214 additions and 97 deletions

View File

@@ -457,7 +457,7 @@ namespace
const auto status = this->execute_ioctl(win_emu, *this->delayed_ioctl_);
if (status == STATUS_PENDING)
{
if (!this->timeout_ || this->timeout_ > std::chrono::steady_clock::now())
if (!this->timeout_ || this->timeout_ > win_emu.steady_clock().now())
{
return;
}
@@ -593,7 +593,8 @@ namespace
std::optional<std::chrono::steady_clock::time_point> timeout{};
if (info.Timeout.QuadPart != std::numeric_limits<int64_t>::max())
{
timeout = utils::convert_delay_interval_to_time_point(info.Timeout);
timeout = utils::convert_delay_interval_to_time_point(win_emu.steady_clock(),
win_emu.system_clock(), info.Timeout);
}
this->delay_ioctrl(c, timeout);