摘要
唤醒等待 futex 的一些线程,并将 futex 的所有权设为零。
声明
#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 的所有者:
也设为零。为了转让“ ”的所有权
如果是 futex,请改用 zx_futex_wake_single_owner()
变体。
zx_futex_wake_single_owner()
将尝试仅从
futex 等待队列。如果至少有一个线程要唤醒,则该线程的所有者
futex 将被设为被唤醒的线程。否则,futex
没有所有者。
请参阅 futex 中的所有权和优先级继承 。
权限
无。
返回值
如果成功,zx_futex_wake()
会返回 ZX_OK
。
错误
ZX_ERR_INVALID_ARGS
value_ptr 未对齐。