X-Git-Url: http://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fwaiter.cpp;fp=src%2Fcommon%2Fwaiter.cpp;h=8d2ba4d696ec228a5f886bc79ef10fa29f34c36e;hp=1cfd3e6f7778f14a630b4e34ff69bf6a6081214f;hb=ac8791840c1815f10336210b4c0d7046eb515692;hpb=0729ea5558053d5a1a0d7aea51febf63ee1f3b3f 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()