摘要
建立事件配對。
宣告
#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_SIGNALED
和 ZX_USER_SIGNAL_n
(其中 n 為 0 到 7)
可以透過 zx_object_signal()
設定或清除,這會修改
物件本身,或 zx_object_signal_peer()
,這個檔案會修改
關閉其中一個物件的所有控點後,
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。
權限
呼叫端工作政策必須允許 ZX_POL_NEW_EVENTPAIR
。
傳回值
zx_eventpair_create()
會在成功時傳回 ZX_OK
。失敗時,具有 (負數)
錯誤代碼。
錯誤
ZX_ERR_INVALID_ARGS
out0 或 out0 是無效的指標或 NULL。
ZX_ERR_NOT_SUPPORTED
options 含有不支援的旗標集 (亦即,不是 0)。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。
另請參閱
zx_event_create()
zx_handle_close()
zx_handle_duplicate()
zx_handle_replace()
zx_object_signal()
zx_object_signal_peer()
zx_object_wait_async()
zx_object_wait_many()
zx_object_wait_one()