From b760892de2848181d2277f910db2bb8d5768753d Mon Sep 17 00:00:00 2001 From: Bananymous Date: Fri, 31 May 2024 02:56:17 +0300 Subject: [PATCH] Kernel: Make pselect use nanosecods instead of milliseconds --- kernel/kernel/Process.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/kernel/Process.cpp b/kernel/kernel/Process.cpp index b99fe012..1bf38519 100644 --- a/kernel/kernel/Process.cpp +++ b/kernel/kernel/Process.cpp @@ -1031,11 +1031,11 @@ namespace Kernel if (arguments->sigmask) return BAN::Error::from_errno(ENOTSUP); - uint64_t timedout_ms = SystemTimer::get().ms_since_boot(); + uint64_t timedout_ns = SystemTimer::get().ns_since_boot(); if (arguments->timeout) { - timedout_ms += arguments->timeout->tv_sec * 1000; - timedout_ms += arguments->timeout->tv_nsec / 1'000'000; + timedout_ns += arguments->timeout->tv_sec * 1'000'000'000; + timedout_ns += arguments->timeout->tv_nsec; } fd_set readfds; FD_ZERO(&readfds); @@ -1076,7 +1076,7 @@ namespace Kernel if (set_bits > 0) break; - if (arguments->timeout && SystemTimer::get().ms_since_boot() >= timedout_ms) + if (arguments->timeout && SystemTimer::get().ns_since_boot() >= timedout_ns) break; LockFreeGuard free(m_process_lock);