总结
发出对象信号。
声明
#include <zircon/syscalls.h>
zx_status_t zx_object_signal(zx_handle_t handle,
uint32_t clear_mask,
uint32_t set_mask);
说明
zx_object_signal()
断言对象上的用户空间可访问信号位。
其中大多数 32 个信号会预留供系统使用,并分配给对象级函数,如 ZX_CHANNEL_READABLE
或 ZX_TASK_TERMINATED
。有 8 个信号位可供用户空间进程根据需要使用:ZX_USER_SIGNAL_0
到 ZX_USER_SIGNAL_7
。
Event 对象还允许控制 ZX_EVENT_SIGNALED
位。
Eventpair 对象还允许控制 ZX_EVENTPAIR_SIGNALED
位。
clear_mask 会先用于清除指示的任何位,然后 set_mask 用于设置指示的任何位。
权限
handle 必须具有 ZX_RIGHT_SIGNAL
。
返回值
zx_object_signal()
会在成功时返回 ZX_OK
。如果失败,则返回负错误值。
错误
ZX_ERR_BAD_HANDLE
句柄不是有效的句柄。
ZX_ERR_ACCESS_DENIED
句柄缺少正确的 ZX_RIGHT_SIGNAL
。
ZX_ERR_INVALID_ARGS
clear_mask 或 set_mask 包含不允许使用的位。