zx_eventpair_create


英文原文快照


名称

eventpair_create —— 创建一对event pair。

概要

  1. #include <zircon/syscalls.h>
  2. zx_status_t zx_eventpair_create(uint32_t options, zx_handle_t* out0, zx_handle_t* out1);

描述

eventpair_create() 创建一对可相互信号通知的event pair对象。 可以使用object_signal()(修改对象本身上的信号)或object_signal_peer()(修改其相对event对象的信号),来设置或清除ZX_EVENTPAIR_SIGNALEDZX_USER_SIGNAL_n(其中n是0到7)信号。

当其中一个event对象的所有句柄都已关闭时,ZX_EVENTPAIR_PEER_CLOSED信号将在相对对象上被设置。

新创建的句柄具有ZX_RIGHT_TRANSFERZX_RIGHT_DUPLICATEZX_RIGHT_READ ZX_RIGHT_WRITEZX_RIGHT_SIGNALZX_RIGHT_SIGNAL_PEER权限。

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

权限

TODO(ZX-2399)

返回值

eventpair_create() 调用成功则返回ZX_OK。失败时,返回(负的)错误码。

错误码

ZX_ERR_INVALID_ARGSout0out1是无效指针或NULL。

ZX_ERR_NOT_SUPPORTEDoptions设置了不支持的标志位(即options不是0)。

ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。

另见

event_createhandle_closehandle_duplicateobject_wait_oneobject_wait_manyhandle_replaceobject_signalobject_signal_peer