summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index bd8e26a556..b3f9f40ee6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -225,7 +225,7 @@ int
main (int argc, char *argv[])
{
gboolean success = FALSE;
- NMManager *manager;
+ NMManager *manager = NULL;
NMConfig *config;
GError *error = NULL;
gboolean wrote_pidfile = FALSE;
@@ -395,12 +395,13 @@ main (int argc, char *argv[])
NM_CONFIG_KEYFILE_KEY_MAIN_AUTH_POLKIT,
NM_CONFIG_DEFAULT_MAIN_AUTH_POLKIT_BOOL));
- manager = nm_manager_setup ();
+ if (!nm_dbus_manager_acquire_bus (nm_dbus_manager_get ()))
+ goto done_no_manager;
- if (!nm_dbus_manager_start (nm_dbus_manager_get (),
- nm_manager_dbus_set_property_handle,
- manager))
- goto done;
+ manager = nm_manager_setup ();
+ nm_dbus_manager_start (nm_dbus_manager_get(),
+ nm_manager_dbus_set_property_handle,
+ manager);
nm_dispatcher_init ();
@@ -453,6 +454,7 @@ done:
nm_dns_manager_stop (nm_dns_manager_get ());
+done_no_manager:
if (global_opt.pidfile && wrote_pidfile)
unlink (global_opt.pidfile);