摘要
向对象的对等方发出信号。
声明
#include <zircon/syscalls.h>
zx_status_t zx_object_signal_peer(zx_handle_t handle,
uint32_t clear_mask,
uint32_t set_mask);
说明
zx_object_signal_peer()
断言和取消断言可访问的用户空间
对象对等上的信号位。对象对等节点是
channel、socket、fifo 或 eventpair。
这 32 个信号中的大部分预留给系统使用,并分配给
对象级函数,例如 ZX_CHANNEL_READABLE
或 ZX_TASK_TERMINATED
。那里
有 8 个信号位可供用户空间进程使用,具体视情况而定:
ZX_USER_SIGNAL_0
到 ZX_USER_SIGNAL_7
。
Eventpair 对象还支持控制 ZX_EVENTPAIR_SIGNALED
位。
clear_mask 首先用于清除指示的所有位,然后 set_mask 用于设置指示的任何位。
权限
handle 必须具有 ZX_RIGHT_SIGNAL_PEER
。
返回值
如果成功,zx_object_signal_peer()
会返回 ZX_OK
。如果出现
失败,则返回负的错误值。
错误
ZX_ERR_BAD_HANDLE
handle 不是有效的句柄。
ZX_ERR_ACCESS_DENIED
handle 缺少正确的 ZX_RIGHT_SIGNAL_PEER
。
ZX_ERR_INVALID_ARGS
clear_mask 或 set_mask 包含不允许使用的位。
ZX_ERR_NOT_SUPPORTED
用于缺少对等设备的对象。
ZX_ERR_PEER_CLOSED
对具有封闭对等体的对象调用。