X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind.c;h=5ce79b23c28681c10765a63d25e32e65540e43d1;hb=9e5548644f76e893c246d54ae613856b67b8dc1d;hp=b54689e1d55ee8d4bd6930ae85127751bba3239e;hpb=afc6adb5ec7e73bc13156c43f52fb015cd80cc68;p=elogind.git diff --git a/src/login/logind.c b/src/login/logind.c index b54689e1d..5ce79b23c 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -96,6 +96,8 @@ Manager *manager_new(void) { return NULL; } + sd_event_set_watchdog(m->event, true); + return m; } @@ -605,7 +607,7 @@ static int manager_connect_bus(Manager *m) { assert(m); assert(!m->bus); - r = sd_bus_open_system(&m->bus); + r = sd_bus_default_system(&m->bus); if (r < 0) { log_error("Failed to connect to system bus: %s", strerror(-r)); return r; @@ -725,17 +727,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)); @@ -958,7 +955,7 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us return r; } - r = sd_event_source_set_priority(m->idle_action_event_source, SD_PRIORITY_IDLE+10); + r = sd_event_source_set_priority(m->idle_action_event_source, SD_EVENT_PRIORITY_IDLE+10); if (r < 0) { log_error("Failed to set idle event source priority: %s", strerror(-r)); return r;