From 65c0bcc47103fe839b959dfdfa61a91f745d78b1 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 15 Oct 2018 14:58:54 +0100 Subject: [PATCH] libxl: libxl__ev_fd_callback: Document perhaps-no-retry semantics Signed-off-by: Ian Jackson CC: Anthony PERARD --- tools/libxl/libxl_internal.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 43947b1b07..153566acd0 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -232,6 +232,14 @@ typedef void libxl__ev_fd_callback(libxl__egc *egc, libxl__ev_fd *ev, * It is not permitted to listen for the same or overlapping events * on the same fd using multiple different libxl__ev_fd's. * + * Note that (depending on the underlying event loop implementation) + * it is possible that a the fd callback system is `level triggered' + * or `event triggered'. That is, the callback may be called only + * once for each transition from not ready to ready. So the + * callback must generally contain a loop which exhausts the fd, + * rather than relying on being called again if the fd is still + * ready. + * * (Spurious wakeups, and spurious bits set in revents, are * suppressed by the libxl event core.) */ -- 2.30.2