From 7c540d743db0d7b2f00d35782defcacda8b1479c Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 28 Nov 2012 17:11:38 +0000 Subject: [PATCH] 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] --- bus/connection.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/bus/connection.c b/bus/connection.c index d69758c97..fddbc78a5 100644 --- a/bus/connection.c +++ b/bus/connection.c @@ -2125,6 +2125,16 @@ bus_transaction_send (BusTransaction *transaction, return TRUE; } +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 -- 2.47.3