<div dir="ltr"><br clear="all"><div><span style="font-size:12.8px">According to vdagent fileXfer, it requires a VD_AGENT_FILE_XFER_STATUS_</span><span style="font-size:12.8px">CANCELLED msg when user cancel a file transfer. Currently our code only send VD_AGENT_FILE_XFER_</span><span style="font-size:12.8px">STATUS_ERROR,</span><div style="font-size:12.8px">this will cause the vdagent lock the file until it restart, you can't remove the broken file.</div><div style="font-size:12.8px"><br clear="all"><div><div>diff --git a/src/channel-main.c b/src/channel-main.c</div><div>index 8138fd5..7a9af7b 100644</div><div>--- a/src/channel-main.c</div><div>+++ b/src/channel-main.c</div><div>@@ -1922,7 +1922,8 @@ static void file_xfer_read_cb(GObject *source_object,</div><div>     } else if (error) {</div><div>         VDAgentFileXferStatusMessage msg = {</div><div>             .id = self->priv->id,</div><div>-            .result = VD_AGENT_FILE_XFER_STATUS_ERROR,</div><div>+            .result = error->code == G_IO_ERROR_CANCELLED ? </div><div>+                    VD_AGENT_FILE_XFER_STATUS_CANCELLED : VD_AGENT_FILE_XFER_STATUS_ERROR,</div><div>         };</div><div>         agent_msg_queue_many(self->priv->channel, VD_AGENT_FILE_XFER_STATUS,</div><div>                              &msg, sizeof(msg), NULL);</div></div></div></div>-- <br><div class="gmail_signature">Jay.Han</div>
</div>