X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fwaiter.cpp;h=8d2ba4d696ec228a5f886bc79ef10fa29f34c36e;hb=HEAD;hp=1cfd3e6f7778f14a630b4e34ff69bf6a6081214f;hpb=11927a7859022cf38a4153767cc96fda4987070d;p=lttng-tools.git diff --git a/src/common/waiter.cpp b/src/common/waiter.cpp index 1cfd3e6f7..8d2ba4d69 100644 --- a/src/common/waiter.cpp +++ b/src/common/waiter.cpp @@ -122,18 +122,18 @@ void lttng::synchro::waker::wake() { cmm_smp_mb(); - LTTNG_ASSERT(uatomic_read(&_state) == WAITER_WAITING); + LTTNG_ASSERT(uatomic_read(&_state.get()) == WAITER_WAITING); - uatomic_set(&_state, WAITER_WOKEN_UP); - if (!(uatomic_read(&_state) & WAITER_RUNNING)) { - if (futex_noasync(&_state, FUTEX_WAKE, 1, nullptr, nullptr, 0) < 0) { + uatomic_set(&_state.get(), WAITER_WOKEN_UP); + if (!(uatomic_read(&_state.get()) & WAITER_RUNNING)) { + if (futex_noasync(&_state.get(), FUTEX_WAKE, 1, nullptr, nullptr, 0) < 0) { PERROR("futex_noasync"); abort(); } } /* Allow teardown of struct urcu_wait memory. */ - uatomic_or(&_state, WAITER_TEARDOWN); + uatomic_or(&_state.get(), WAITER_TEARDOWN); } lttng::synchro::wait_queue::wait_queue()