importd: unify setup of bus connectivity in one place
authorLennart Poettering <lennart@poettering.net>
Tue, 7 May 2024 15:44:31 +0000 (17:44 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sat, 15 Jun 2024 11:16:36 +0000 (12:16 +0100)
src/import/importd.c

index 2ecffdec4ed92d09f4a659e9362b42d9c037a051..c6ca31556a19e500841609b85415e85948dace04 100644 (file)
@@ -706,10 +706,6 @@ static int manager_new(Manager **ret) {
         if (r < 0)
                 log_debug_errno(r, "Failed to enable watchdog logic, ignoring: %m");
 
-        r = sd_bus_default_system(&m->bus);
-        if (r < 0)
-                return r;
-
         m->notify_fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
         if (m->notify_fd < 0)
                 return -errno;
@@ -1703,10 +1699,16 @@ static const BusObjectImplementation manager_object = {
         .children = BUS_IMPLEMENTATIONS(&transfer_object),
 };
 
-static int manager_add_bus_objects(Manager *m) {
+static int manager_connect_bus(Manager *m) {
         int r;
 
         assert(m);
+        assert(m->event);
+        assert(!m->bus);
+
+        r = sd_bus_default_system(&m->bus);
+        if (r < 0)
+                return log_error_errno(r, "Failed to get system bus connection: %m");
 
         r = bus_add_implementation(m->bus, &manager_object, m);
         if (r < 0)
@@ -1780,7 +1782,7 @@ static int run(int argc, char *argv[]) {
 
         manager_parse_env(m);
 
-        r = manager_add_bus_objects(m);
+        r = manager_connect_bus(m);
         if (r < 0)
                 return r;