Kernel: Reorder FUTEX_WAIT value and timeout check

Return EAGAIN rather than ETIMEDOUT if value does not match at futex
entry
This commit is contained in:
2026-04-21 00:20:37 +03:00
parent 0ee50032f3
commit 72a24a0d38

View File

@@ -3215,6 +3215,9 @@ namespace Kernel
return BAN::Error::from_errno(ENOSYS);
}
if (op == FUTEX_WAIT && BAN::atomic_load(*addr) != val)
return BAN::Error::from_errno(EAGAIN);
uint64_t wake_time_ns = BAN::numeric_limits<uint64_t>::max();
if (user_abstime != nullptr)
@@ -3236,9 +3239,6 @@ namespace Kernel
}
}
if (op == FUTEX_WAIT && BAN::atomic_load(*addr) != val)
return BAN::Error::from_errno(EAGAIN);
futex_t* futex;
{