[libvirt] [PATCH 5/9] daemon: stream: don't update events if stream->closed

Cole Robinson crobinso at redhat.com
Mon Apr 25 18:46:31 UTC 2016


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




More information about the libvir-list mailing list