X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fwaiter.cpp;h=3ddb68feb7c76dd91f09bec9d7664c02224627a2;hp=1cfd3e6f7778f14a630b4e34ff69bf6a6081214f;hb=HEAD;hpb=11927a7859022cf38a4153767cc96fda4987070d 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()