This is the only place in daemon/stream.c that sets
'stream->closed = true' but neglects to actually abort the stream
and remove the callback, which seems wrong.
---
daemon/stream.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/daemon/stream.c b/daemon/stream.c
index c892dcb..f072a17 100644
--- a/daemon/stream.c
+++ b/daemon/stream.c
@@ -539,6 +539,9 @@ daemonStreamHandleWriteData(virNetServerClientPtr client,
VIR_INFO("Stream send failed");
stream->closed = true;
+ virStreamEventRemoveCallback(stream->st);
+ virStreamAbort(stream->st);
+
return virNetServerProgramSendReplyError(stream->prog,
client,
msg,
--
2.7.3