There is no need to send 0 bytes of data to the agent, we should just wait for VD_AGENT_FILE_XFER_STATUS message. Acked-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> --- src/channel-main.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/channel-main.c b/src/channel-main.c index fa5b611..7d00154 100644 --- a/src/channel-main.c +++ b/src/channel-main.c @@ -1948,14 +1948,13 @@ static void file_xfer_read_async_cb(GObject *source_object, spice_channel_wakeup(SPICE_CHANNEL(channel), FALSE); spice_file_transfer_task_completed(xfer_task, error); return; - } - - file_xfer_queue_msg_to_agent(channel, spice_file_transfer_task_get_id(xfer_task), buffer, count); - if (count == 0) { + } else if (count == 0) { /* on EOF just wait for VD_AGENT_FILE_XFER_STATUS from agent */ return; } + file_xfer_queue_msg_to_agent(channel, spice_file_transfer_task_get_id(xfer_task), buffer, count); + task_id = spice_file_transfer_task_get_id(xfer_task); xfer_op = g_hash_table_lookup(channel->priv->file_xfer_tasks, GUINT_TO_POINTER(task_id)); xfer_op->stats.total_sent += count; -- 2.7.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel