zx_futex_get_owner

总结

获取 Futex 的当前 koid 所有者(如果有)。

声明

#include <zircon/syscalls.h>

zx_status_t zx_futex_get_owner(const zx_futex_t* value_ptr, zx_koid_t* koid);

说明

获取由 value_ptr 标识的 futex 当前所有者的 koid;如果没有当前所有者,则获取 ZX_KOID_INVALID。从 futex 构建同步基元时,了解 futex 的所有权通常没什么用处。此系统调用主要用于测试。

如需了解详情,请参阅 futex 中的所有权和优先级继承

权限

无。

返回值

zx_futex_get_owner() 在成功时返回 ZX_OK,Kids 会在系统调用时拥有 futex 的所有者,如果没有所有者,则返回 ZX_KOID_INVALID

错误

ZX_ERR_INVALID_ARGS 以下情况之一为 true:

  • value_ptr 不是有效的用户空间指针。
  • value_ptr 未与 sizeof(zx_futex_t) 边界对齐。
  • koid 不是有效的用户空间指针。

另请参阅

futex 对象