diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index e910533efb..84cc455a73 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2466,8 +2466,9 @@ KResultOr Process::do_waitid(idtype_t idtype, int id, int options) return KResult(-EINVAL); } - if (Thread::current->block(options, waitee_pid) != Thread::BlockResult::WokeNormally) - return KResult(-EINTR); + if (!(options & WNOHANG)) + if (Thread::current->block(options, waitee_pid) != Thread::BlockResult::WokeNormally) + return KResult(-EINTR); InterruptDisabler disabler;