Quellcode durchsuchen

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!
Ben Wiederhake vor 5 Jahren
Ursprung
Commit
4a5a7b68eb
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      Kernel/Process.cpp

+ 1 - 1
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;