diff options
Diffstat (limited to 'daemon/main.c')
-rw-r--r-- | daemon/main.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/daemon/main.c b/daemon/main.c index 6c4bc963..56cc7782 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -47,6 +47,7 @@ #include "system.h" #include "manager.h" #include "database.h" +#include "adapter.h" #include "service.h" static GMainLoop *main_loop = NULL; @@ -79,7 +80,16 @@ static int setup_dbus(void) return -1; } + if (adapter_init(system_bus) < 0) { + database_exit(); + manager_exit(); + dbus_connection_destroy_object_path(system_bus, SYSTEM_PATH); + dbus_connection_unref(system_bus); + return -1; + } + if (service_init(system_bus) < 0) { + adapter_exit(); database_exit(); manager_exit(); dbus_connection_destroy_object_path(system_bus, SYSTEM_PATH); @@ -94,6 +104,8 @@ static void cleanup_dbus(void) { service_exit(); + adapter_exit(); + database_exit(); manager_exit(); |