Searched refs:futexPtr (Results 1 - 2 of 2) sorted by relevance
/foundation/multimedia/audio_framework/services/audio_service/common/src/ |
H A D | futex_tool.cpp | 46 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 D | futex_tool.h | 38 * 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