From f1096c02473e231028b546af9d39d1931df9405f Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Tue, 20 Jun 2017 15:36:48 +0200 Subject: [PATCH] docs: Add callback-related info to virStream{Abort,Finish} When one has a non-blocking stream and aborts or finishes it without removing the callback, any event loop invocation will trigger that callback, but it cannot be removed any more. We cannot remove the callback automatically from virStream{Abort,Finish} functions due to forward-compatibility. So let's at least document this behaviour, because it is not easy to find out the reason for. Signed-off-by: Martin Kletzander --- src/libvirt-stream.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libvirt-stream.c b/src/libvirt-stream.c index d7a8f58160..c49f20264f 100644 --- a/src/libvirt-stream.c +++ b/src/libvirt-stream.c @@ -1131,6 +1131,9 @@ virStreamEventRemoveCallback(virStreamPtr stream) * errors, so if this returns a success code the application can * be sure that all data has been successfully processed. * + * If the stream is non-blocking, any callback must be removed + * beforehand. + * * Returns 0 on success, -1 upon error */ int @@ -1170,6 +1173,9 @@ virStreamFinish(virStreamPtr stream) * streams this can be used to inform the driver that it * should stop sending data. * + * If the stream is non-blocking, any callback must be removed + * beforehand. + * * Returns 0 on success, -1 upon error */ int