summaryrefslogtreecommitdiff
path: root/src/login/logind.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-12-03 18:01:26 +0100
committerLennart Poettering <lennart@poettering.net>2013-12-03 18:02:46 +0100
commite7176abbe818c75c6acd90227a7a84c3e05fee31 (patch)
treef6aabfb7282b1a4e01b80025f4f05f14a727ffcf /src/login/logind.c
parent059d9fbb5a691ced7428cff5ff1da5681cacf6da (diff)
bus: make sd_bus_request_name() and sd_bus_release_name() behave more like other calls
Instead of returning an enum of return codes, make them return error codes like kdbus does internally. Also, document this behaviour so that clients can stick to it. (Also rework bus-control.c to always have to functions for dbus1 vs. kernel implementation of the various calls.)
Diffstat (limited to 'src/login/logind.c')
-rw-r--r--src/login/logind.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/login/logind.c b/src/login/logind.c
index 47b306b619..87d46ee605 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -725,17 +725,12 @@ static int manager_connect_bus(Manager *m) {
return r;
}
- r = sd_bus_request_name(m->bus, "org.freedesktop.login1", SD_BUS_NAME_DO_NOT_QUEUE);
+ r = sd_bus_request_name(m->bus, "org.freedesktop.login1", SD_BUS_NAME_REPLACE_EXISTING|SD_BUS_NAME_DO_NOT_QUEUE);
if (r < 0) {
log_error("Failed to register name: %s", strerror(-r));
return r;
}
- if (r != SD_BUS_NAME_PRIMARY_OWNER) {
- log_error("Failed to acquire name.");
- return -EEXIST;
- }
-
r = sd_bus_attach_event(m->bus, m->event, 0);
if (r < 0) {
log_error("Failed to attach bus to event loop: %s", strerror(-r));