diff --git a/src/remote/remote_daemon_stream.c b/src/remote/remote_daemon_stream.c index 345c40b48c..f52af790c1 100644 --- a/src/remote/remote_daemon_stream.c +++ b/src/remote/remote_daemon_stream.c @@ -775,8 +775,12 @@ daemonStreamHandleWrite(virNetServerClient *client, ret = -1; } - if (ret > 0) - break; /* still processing data from msg */ + if (ret > 0) { + /* still processing data from msg, put it back into queue */ + msg->next = stream->rx; + stream->rx = msg; + break; + } if (ret < 0) { virNetMessageFree(msg);