摘要
喚醒一些等待後毛的執行緒,並將毛衣的擁有權設為空。
宣告
#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 未對齊。