摘要
向物件的同儕傳送信號。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_object_signal_peer(zx_handle_t handle,
                                  uint32_t clear_mask,
                                  uint32_t set_mask);
說明
zx_object_signal_peer() 會在物件的同級物件上,斷言及取消斷言可供使用者空間存取的信號位元。物件同盟是管道、Socket、FIFO 或事件對的對端。
系統會保證此呼叫對物件同盟信號位元產生的效果,會在呼叫完成前顯示。
這 32 個信號大多是保留給系統使用,並指派給 ZX_CHANNEL_READABLE 或 ZX_TASK_TERMINATED 等個別物件函式。使用者空間處理程序可視需要使用 8 個信號位元:ZX_USER_SIGNAL_0 到 ZX_USER_SIGNAL_7。
Eventpair 物件也可用於控制 ZX_EVENTPAIR_SIGNALED 位元。
系統會先使用 clear_mask 清除任何指定位元,然後再使用 set_mask 設定任何指定位元。
權限
handle 必須包含 ZX_RIGHT_SIGNAL_PEER。
傳回值
zx_object_signal_peer() 會在成功時傳回 ZX_OK。如果失敗,系統會傳回負值錯誤。
錯誤
ZX_ERR_BAD_HANDLE  handle 不是有效的 handle。
ZX_ERR_ACCESS_DENIED  handle 缺少正確的 ZX_RIGHT_SIGNAL_PEER。
ZX_ERR_INVALID_ARGS  clear_mask 或 set_mask 包含不允許的位元。
ZX_ERR_NOT_SUPPORTED 用於缺少對等物的物件。
ZX_ERR_PEER_CLOSED 在具有已關閉對等端的物件上呼叫。