zxfutex_wake

摘要

唤醒等待 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 未对齐。

另请参阅