[gvfs] ftp: Always close data connections when done
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] ftp: Always close data connections when done
- Date: Sat, 21 Dec 2013 12:33:41 +0000 (UTC)
commit 28cf48f6ea1cd6885b7853aa3b430d5ab846c3ab
Author: Benjamin Otte <otte redhat com>
Date: Sat Dec 21 03:22:12 2013 +0100
ftp: Always close data connections when done
Opening data connections is a complex process and can fail in multiple
stages. Instead of requiring the code to close them manually and
throwing assertions when that doesn't work we just clean up after all
jobs automatically.
https://bugzilla.gnome.org/show_bug.cgi?id=711865
daemon/gvfsftptask.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gvfsftptask.c b/daemon/gvfsftptask.c
index 15de4ce..185ffe2 100644
--- a/daemon/gvfsftptask.c
+++ b/daemon/gvfsftptask.c
@@ -276,6 +276,8 @@ g_vfs_ftp_task_acquire_connection (GVfsFtpTask *task)
* or frees it if it is in an error state. You must use this function to free
* a @task's connection, never use g_vfs_ftp_connection_free() directly. If
* the task does not have a current connection, this function just returns.
+ *
+ * This function also closes all potentially open data connections.
**/
static void
g_vfs_ftp_task_release_connection (GVfsFtpTask *task)
@@ -286,6 +288,8 @@ g_vfs_ftp_task_release_connection (GVfsFtpTask *task)
if (task->conn == NULL)
return;
+ g_vfs_ftp_task_close_data_connection (task);
+
g_mutex_lock (&task->backend->mutex);
if (task->backend->queue && g_vfs_ftp_connection_is_usable (task->conn))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]