X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flocaled.c;h=93e4e9bd56f2e181863ccdbc28337d17924fbd2c;hp=5efee0b2ac99b747c786906c34b9f19dadedd6c1;hb=1968a360405e302d4d2c2abc03a3314f81375156;hpb=a2e5283217b9e1e636ab3272e8d36e724a78cf6a diff --git a/src/localed.c b/src/localed.c index 5efee0b2a..93e4e9bd5 100644 --- a/src/localed.c +++ b/src/localed.c @@ -540,8 +540,15 @@ static int connect_bus(DBusConnection **_bus) { goto fail; } - if (dbus_bus_request_name(bus, "org.freedesktop.locale1", DBUS_NAME_FLAG_DO_NOT_QUEUE, &error) < 0) { - log_error("Failed to register name on bus: %s", error.message); + r = dbus_bus_request_name(bus, "org.freedesktop.locale1", DBUS_NAME_FLAG_DO_NOT_QUEUE, &error); + if (dbus_error_is_set(&error)) { + log_error("Failed to register name on bus: %s", bus_error_message(&error)); + r = -EEXIST; + goto fail; + } + + if (r != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { + log_error("Failed to acquire name."); r = -EEXIST; goto fail; }