transaction_free: factor out
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Wed, 28 Nov 2012 17:11:38 +0000 (17:11 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 1 Nov 2013 11:48:40 +0000 (11:48 +0000)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=60859
Reviewed-by: Chengwei Yang
[removed unused variable based on review -smcv]

bus/connection.c

index d69758c..fddbc78 100644 (file)
@@ -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