From 4bf7a08c80469f58476a143d054c4eb6b946b84f Mon Sep 17 00:00:00 2001 From: Bananymous Date: Wed, 29 May 2024 15:32:18 +0300 Subject: [PATCH] Kernel: Allow SYS_PSELECT to work with timeout of zero --- kernel/kernel/Process.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/kernel/Process.cpp b/kernel/kernel/Process.cpp index ac965e29..53a54c58 100644 --- a/kernel/kernel/Process.cpp +++ b/kernel/kernel/Process.cpp @@ -1045,9 +1045,6 @@ namespace Kernel int set_bits = 0; for (;;) { - if (arguments->timeout && SystemTimer::get().ms_since_boot() >= timedout_ms) - break; - auto update_fds = [&](int fd, fd_set* source, fd_set* dest, bool (Inode::*func)() const) { @@ -1079,6 +1076,9 @@ namespace Kernel if (set_bits > 0) break; + if (arguments->timeout && SystemTimer::get().ms_since_boot() >= timedout_ms) + break; + LockFreeGuard free(m_process_lock); SystemTimer::get().sleep(1); }