Calling virStreamFinish prematurely seems to trigger this code path
even after the stream is closed, which ends up hitting this error
message later:

error : virFDStreamUpdateCallback:127 : internal error: stream is not open

Skip this function if stream->closed, which is used in many other places
like read/write handlers
---
 daemon/stream.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/daemon/stream.c b/daemon/stream.c
index f072a17..8a97260 100644
--- a/daemon/stream.c
+++ b/daemon/stream.c
@@ -76,6 +76,8 @@ static void
 daemonStreamUpdateEvents(daemonClientStream *stream)
 {
     int newEvents = 0;
+    if (stream->closed)
+        return;
     if (stream->rx)
         newEvents |= VIR_STREAM_EVENT_WRITABLE;
     if (stream->tx && !stream->recvEOF)
-- 
2.7.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to