summaryrefslogtreecommitdiff
path: root/bus/connection.c
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2012-11-28 17:11:38 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-11-01 11:48:40 +0000
commit7c540d743db0d7b2f00d35782defcacda8b1479c (patch)
tree7a77883a80b50f60c9b06cbe6983b95744d45fe4 /bus/connection.c
parentc3f20a67e623f7277a9ca5610fa8416d6ed5c04d (diff)
downloaddbus-7c540d743db0d7b2f00d35782defcacda8b1479c.tar.gz
transaction_free: factor out
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=60859 Reviewed-by: Chengwei Yang [removed unused variable based on review -smcv]
Diffstat (limited to 'bus/connection.c')
-rw-r--r--bus/connection.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/bus/connection.c b/bus/connection.c
index d69758c9..fddbc78a 100644
--- a/bus/connection.c
+++ b/bus/connection.c
@@ -2126,6 +2126,16 @@ bus_transaction_send (BusTransaction *transaction,
}
static void
+transaction_free (BusTransaction *transaction)
+{
+ _dbus_assert (transaction->connections == NULL);
+
+ free_cancel_hooks (transaction);
+
+ dbus_free (transaction);
+}
+
+static void
connection_cancel_transaction (DBusConnection *connection,
BusTransaction *transaction)
{
@@ -2163,14 +2173,10 @@ bus_transaction_cancel_and_free (BusTransaction *transaction)
while ((connection = _dbus_list_pop_first (&transaction->connections)))
connection_cancel_transaction (connection, transaction);
- _dbus_assert (transaction->connections == NULL);
-
_dbus_list_foreach (&transaction->cancel_hooks,
cancel_hook_cancel, NULL);
- free_cancel_hooks (transaction);
-
- dbus_free (transaction);
+ transaction_free (transaction);
}
static void
@@ -2224,11 +2230,7 @@ bus_transaction_execute_and_free (BusTransaction *transaction)
while ((connection = _dbus_list_pop_first (&transaction->connections)))
connection_execute_transaction (connection, transaction);
- _dbus_assert (transaction->connections == NULL);
-
- free_cancel_hooks (transaction);
-
- dbus_free (transaction);
+ transaction_free (transaction);
}
static void