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