zx_futex_wake

摘要

喚醒一些等待後毛的執行緒,並將毛衣的擁有權設為空。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_futex_wake(const zx_futex_t* value_ptr, uint32_t wake_count);

說明

喚醒 futex 會導致 wake_count 執行緒正在等待 value_ptr 就是要起床

喚醒零執行緒並不是錯誤情況。傳入未分配的 value_ptr 的位址不是錯誤狀況。

擁有權

成功呼叫 zx_futex_wake() 會導致 Futex 的擁有者 不設定任何值,無論喚醒計數為何。為了轉移 因此,請改用 zx_futex_wake_single_owner() 子類。 zx_futex_wake_single_owner() 會嘗試從 後續排隊等待佇列如果至少有一個執行緒要喚醒, futex 將會設為喚醒的執行緒。否則模型就會 沒有擁有者。

請參閱 futex 的「擁有權和優先順序沿用」一節, 詳細資料。

權限

無。

傳回值

zx_futex_wake() 會在成功時傳回 ZX_OK

錯誤

ZX_ERR_INVALID_ARGS value_ptr 未對齊。

另請參閱