From: Ian Jackson Date: Mon, 15 Oct 2018 13:58:54 +0000 (+0100) Subject: libxl: libxl__ev_fd_callback: Document perhaps-no-retry semantics X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3086 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=65c0bcc47103fe839b959dfdfa61a91f745d78b1;p=xen.git libxl: libxl__ev_fd_callback: Document perhaps-no-retry semantics Signed-off-by: Ian Jackson CC: Anthony PERARD --- 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.) */