chiark / gitweb /
bus: make sd_bus_request_name() and sd_bus_release_name() behave more like other...
[elogind.git] / src / machine / machined.c
index d6dd984e7673947a34bfa4c75f2dc7c29be9d739..35b33c30186fbe7da0195d32ddc1bd9a83a57bcb 100644 (file)
@@ -53,7 +53,7 @@ Manager *manager_new(void) {
                 return NULL;
         }
 
-        r = sd_event_new(&m->event);
+        r = sd_event_default(&m->event);
         if (r < 0) {
                 manager_free(m);
                 return NULL;
@@ -129,7 +129,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;
@@ -217,17 +217,12 @@ static int manager_connect_bus(Manager *m) {
                 return r;
         }
 
-        r = sd_bus_request_name(m->bus, "org.freedesktop.machine1", SD_BUS_NAME_DO_NOT_QUEUE);
+        r = sd_bus_request_name(m->bus, "org.freedesktop.machine1", 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));