摘要
建立事件組合。
宣告
#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_object_signal()
設定或清除 ZX_EVENTPAIR_SIGNALED
和 ZX_USER_SIGNAL_n
信號 (其中 n 為 0 到 7),這會修改物件本身的信號;或 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
選項含有不支援的旗標 (即非 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()