mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 02:57:42 +00:00
Everywhere: Use MonotonicTime instead of Duration
This is easily identifiable by anyone who uses Duration::now_monotonic, and any downstream users of that data.
This commit is contained in:
parent
b2e7b8cdff
commit
fc5cab5c21
29 changed files with 79 additions and 80 deletions
|
@ -328,12 +328,12 @@ ErrorOr<u32> Controller::get_pcm_output_sample_rate(size_t channel_index)
|
|||
|
||||
ErrorOr<void> wait_until(size_t delay_in_microseconds, size_t timeout_in_microseconds, Function<ErrorOr<bool>()> condition)
|
||||
{
|
||||
auto const timeout = Duration::from_microseconds(static_cast<i64>(timeout_in_microseconds));
|
||||
auto const& time_management = TimeManagement::the();
|
||||
// FIXME: Use monotonic time instead.
|
||||
u64 start_microseconds = time_management.now().offset_to_epoch().to_microseconds();
|
||||
auto start = time_management.monotonic_time(TimePrecision::Precise);
|
||||
while (!TRY(condition())) {
|
||||
microseconds_delay(delay_in_microseconds);
|
||||
if ((time_management.now().offset_to_epoch().to_microseconds() - start_microseconds) >= timeout_in_microseconds)
|
||||
if (time_management.monotonic_time(TimePrecision::Precise) - start >= timeout)
|
||||
return ETIMEDOUT;
|
||||
}
|
||||
return {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue