From cab89f44a538173d9213b0ff98dfc09a6016edf8 Mon Sep 17 00:00:00 2001 From: Ivan Chikish Date: Fri, 7 Jul 2023 14:16:35 +0300 Subject: [PATCH] [orbis-kernel] shared_cv fixup --- orbis-kernel/src/utils/SharedCV.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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);