zx_futex_get_owner

摘要

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

声明

#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,而 koids 则持有 系统调用时的 futex,如果没有ZX_KOID_INVALID 所有者。

错误

ZX_ERR_INVALID_ARGS 符合以下情况之一:

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

另请参阅

futex 对象