summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadoslaw Pajak <r.pajak@samsung.com>2013-12-17 10:11:43 +0100
committerLubomir Rintel <lkundrak@v3.sk>2015-02-11 11:55:30 +0100
commit8141c31e4f8b370981961a3c7ca5ab78901dee16 (patch)
treea1c5840b7b5967ed534a33b17b76eff006d5fdc9
parent79da6c2604cac847e92c2d758a963c3bef03087a (diff)
[daemon-fix] fixed transaction freeing for daemon name and starters
Change-Id: I795ea4d76b80a10fdd2f1aa2a912857472a924ee Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
-rw-r--r--bus/kdbus-d.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/bus/kdbus-d.c b/bus/kdbus-d.c
index 86d712b8..bed707a2 100644
--- a/bus/kdbus-d.c
+++ b/bus/kdbus-d.c
@@ -543,8 +543,12 @@ dbus_bool_t register_daemon_name(DBusConnection* connection)
retval = TRUE;
out:
- bus_transaction_cancel_and_free(transaction);
- return retval;
+ if(retval)
+ bus_transaction_execute_and_free(transaction);
+ else
+ bus_transaction_cancel_and_free(transaction);
+
+ return retval;
}
dbus_uint32_t kdbus_request_name(DBusConnection* connection, const DBusString *service_name, dbus_uint32_t flags, __u64 sender_id)
@@ -1041,8 +1045,12 @@ out:
}
dbus_free_string_array (services);
_dbus_string_free(&name);
+ if(retval)
+ bus_transaction_execute_and_free(transaction);
+ else
bus_transaction_cancel_and_free(transaction);
- return retval;
+
+ return retval;
}
/*
@@ -1098,8 +1106,12 @@ dbus_bool_t update_kdbus_starters(DBusConnection* connection)
retval = TRUE;
out:
- bus_transaction_cancel_and_free(transaction);
- return retval;
+ if(retval)
+ bus_transaction_execute_and_free(transaction);
+ else
+ bus_transaction_cancel_and_free(transaction);
+
+ return retval;
}
/*