From 4a5a7b68eb89f2b87c5df9cde844a85e4b2a8fca Mon Sep 17 00:00:00 2001 From: Ben Wiederhake Date: Mon, 11 May 2020 03:05:22 +0200 Subject: [PATCH] Kernel: Make usleep aware of dynamic tick length On my system, ticks_per_second() returns 1280. So Serenity was always 20% too fast when sleeping! --- Kernel/Process.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 8bca1bce5c..7ed7a13240 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2436,7 +2436,7 @@ int Process::sys$usleep(useconds_t usec) REQUIRE_PROMISE(stdio); if (!usec) return 0; - u64 wakeup_time = Thread::current()->sleep(usec / 1000); + u64 wakeup_time = Thread::current()->sleep(usec * TimeManagement::the().ticks_per_second() / 1000000); if (wakeup_time > g_uptime) return -EINTR; return 0;