zx_eventpair_create

摘要

创建事件对。

声明

#include <zircon/syscalls.h>

zx_status_t zx_eventpair_create(uint32_t options,
                                zx_handle_t* out0,
                                zx_handle_t* out1);

说明

zx_eventpair_create() 会创建一个事件对,即一对对象, 可以相互信号

信号 ZX_EVENTPAIR_SIGNALEDZX_USER_SIGNAL_n(其中 n 为 0 到 7) 可使用 zx_object_signal() 设置或清除,这会修改 或 zx_object_signal_peer(),后者会修改其 副本。

当其中一个对象的所有手柄都关闭后, 系统将对相反对象断言 ZX_EVENTPAIR_PEER_CLOSED 信号。

新创建的标识名将具有 ZX_RIGHT_TRANSFERZX_RIGHT_DUPLICATEZX_RIGHT_READZX_RIGHT_WRITEZX_RIGHT_SIGNAL、 和ZX_RIGHT_SIGNAL_PEER权利。

目前尚不支持任何选项,因此 options 必须设置为 0。

权限

调用方作业政策必须允许 ZX_POL_NEW_EVENTPAIR

返回值

如果成功,zx_eventpair_create() 会返回 ZX_OK。如果失败,则 a(否定) 错误代码。

错误

ZX_ERR_INVALID_ARGS out0out0 是无效的指针或 NULL。

ZX_ERR_NOT_SUPPORTED options 具有不受支持的标志集(即 不是 0)。

ZX_ERR_NO_MEMORY 因内存不足而失败。 用户空间没有好办法处理这种(不太可能)错误。 在将来的版本中,此错误不会再发生。

另请参阅