摘要
喚醒一些在布丁上面等待的執行緒,並將毛衣的擁有權設定為什麼。
宣告
#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 Futex 喚醒。
喚醒零執行緒並不是錯誤狀況。為 value_ptr 傳入未分配的位址並非錯誤狀況。
擁有權
成功呼叫 zx_futex_wake()
後,無論喚醒計數為何,futex 擁有者都將設為不顯示任何內容。如要轉移 futex 的擁有權,請改用 zx_futex_wake_single_owner()
變化版本。zx_futex_wake_single_owner()
會嘗試從未來等候佇列中喚醒一個執行緒。如有至少一個要喚醒的執行緒,系統會將資料擁有者設為喚醒的執行緒。否則,未來不會有擁有者。
詳情請參閱「futex」中的擁有權和優先順序繼承。
權限
無。
傳回值
zx_futex_wake()
會在成功時傳回 ZX_OK
。
錯誤
ZX_ERR_INVALID_ARGS
value_ptr 未對齊。