diff --git a/orbis-kernel/src/utils/SharedCV.cpp b/orbis-kernel/src/utils/SharedCV.cpp index 80af6b38d..e30bcf0d5 100644 --- a/orbis-kernel/src/utils/SharedCV.cpp +++ b/orbis-kernel/src/utils/SharedCV.cpp @@ -82,8 +82,8 @@ void shared_cv::impl_wake(shared_mutex &mutex, int _count) noexcept { if (_count) { // Wake up one thread + requeue remaining waiters - if (auto r = syscall(SYS_futex, &m_value, FUTEX_CMP_REQUEUE, +locked, - &mutex, _count - +locked, _old); + if (auto r = syscall(SYS_futex, &m_value, FUTEX_REQUEUE, +locked, + &mutex, _count - +locked, 0); r < _count) { // Keep awaking waiters return impl_wake(mutex, is_one ? 1 : INT_MAX);