zx_eventpair_create
名称
eventpair_create —— 创建一对event pair。
概要
#include <zircon/syscalls.h>
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_SIGNALED和ZX_USER_SIGNAL_n(其中n是0到7)信号。
当其中一个event对象的所有句柄都已关闭时,ZX_EVENTPAIR_PEER_CLOSED信号将在相对对象上被设置。
新创建的句柄具有ZX_RIGHT_TRANSFER,ZX_RIGHT_DUPLICATE,ZX_RIGHT_READ ,ZX_RIGHT_WRITE,ZX_RIGHT_SIGNAL和ZX_RIGHT_SIGNAL_PEER权限。
目前,尚不支持任何选项,因此options必须设置为0。
权限
TODO(ZX-2399)
返回值
eventpair_create() 调用成功则返回ZX_OK。失败时,返回(负的)错误码。
错误码
ZX_ERR_INVALID_ARGS:out0或out1是无效指针或NULL。
ZX_ERR_NOT_SUPPORTED:options设置了不支持的标志位(即options不是0)。
ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。
另见
event_create,handle_close,handle_duplicate,object_wait_one,object_wait_many,handle_replace,object_signal,object_signal_peer。