总结
关闭多个手柄。
声明
#include <zircon/syscalls.h>
zx_status_t zx_handle_close_many(const zx_handle_t* handles,
size_t num_handles);
说明
zx_handle_close_many()
会关闭多个句柄,从而导致每个底层对象都没有其他句柄存在时,内核会收回该对象。
如果在待处理的 zx_object_wait_one()
或 zx_object_wait_many()
调用中使用了句柄,则等待将被取消。
此操作会关闭呈现给它的所有句柄,即使一个或多个句柄重复或无效,也是如此。
关闭特殊的“绝不是有效句柄”ZX_HANDLE_INVALID
(类似于 free(NULL)
是一个有效调用)不会是错误。
使用 zx_handle_close_many()
关闭对等对象的最后一个句柄可能会影响该对象对等对象(如果有)的状态。另请参阅对等互连对象。
权限
无。
返回值
zx_handle_close_many()
会在成功时返回 ZX_OK
。
错误
ZX_ERR_BAD_HANDLE
其中一个句柄不是有效的句柄,或者同一句柄多次出现。