Note to Content Author: I think this was not seen by users, but was part of developing spice-server and guest's vdagent.
This bug adds a few fixes to the server, including:
- Don't crash when a client disconnects while there are pending writes.
- Always call read_from_vdi_port() in a while loop. This fixes a case where data read from the agent got lost.
- Call read_from_vdi_port() from vdi_read_buf_release(). This fixes a possible case where spice-server fails to ever read more data from the agent on the guest as the port is throttled and stays throttled until the spice-server consumed all data from the current buffer.