Home
last modified time | relevance | path

Searched refs:futexPtr (Results 1 - 2 of 2) sorted by relevance

/foundation/multimedia/audio_framework/services/audio_service/common/src/
H A Dfutex_tool.cpp46 FutexCode FutexTool::FutexWait(std::atomic<uint32_t> *futexPtr, int64_t timeout) in FutexWait() argument
48 CHECK_AND_RETURN_RET_LOG(futexPtr != nullptr, FUTEX_INVALID_PARAMS, "futexPtr is null"); in FutexWait()
50 uint32_t current = futexPtr->load(); in FutexWait()
61 if (!futexPtr->compare_exchange_strong(expect, IS_NOT_READY)) { in FutexWait()
71 if (futexPtr->load() == IS_PRE_EXIT) { in FutexWait()
75 res = syscall(__NR_futex, futexPtr, FUTEX_WAIT, IS_NOT_READY, (timeout <= 0 ? NULL : &waitTime), NULL, 0); in FutexWait()
76 if (res == 0 && futexPtr->load() == IS_READY) { in FutexWait()
96 FutexCode FutexTool::FutexWake(std::atomic<uint32_t> *futexPtr, uint32_t wakeVal) in FutexWake() argument
98 CHECK_AND_RETURN_RET_LOG(futexPtr ! in FutexWake()
[all...]
/foundation/multimedia/audio_framework/services/audio_service/common/include/
H A Dfutex_tool.h38 * FutexWait will first try change futexPtr from IS_READY to IS_NOT_READY, then acomicly wait on IS_NOT_READY.
39 * After Waked up, will check futexPtr == IS_NOT_READY
41 static FutexCode FutexWait(std::atomic<uint32_t> *futexPtr, int64_t timeout);
42 static FutexCode FutexWake(std::atomic<uint32_t> *futexPtr, uint32_t wakeVal = IS_READY);

Completed in 1 milliseconds