摘要
获取 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 不是有效的用户空间指针。