diff options
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c index 7da0c3c2..f834fa94 100644 --- a/src/main.c +++ b/src/main.c @@ -59,7 +59,6 @@ #endif #define NM_DEFAULT_PID_FILE NMRUNDIR "/NetworkManager.pid" -#define NM_DEFAULT_SYSTEM_STATE_FILE NMSTATEDIR "/NetworkManager.state" #define CONFIG_ATOMIC_SECTION_PREFIXES ((char **) NULL) @@ -398,8 +397,13 @@ main (int argc, char *argv[]) NM_CONFIG_KEYFILE_KEY_MAIN_AUTH_POLKIT, NM_CONFIG_DEFAULT_MAIN_AUTH_POLKIT_BOOL)); - if (!nm_dbus_manager_acquire_bus (nm_dbus_manager_get ())) - goto done_no_manager; + if (!nm_config_get_configure_and_quit (config)) { + /* D-Bus is useless in configure and quit mode -- we're eventually dropping + * off and potential clients would have no way of knowing whether we're + * finished already or didn't start yet. */ + if (!nm_dbus_manager_acquire_bus (nm_dbus_manager_get ())) + goto done_no_manager; + } manager = nm_manager_setup (); nm_dbus_manager_start (nm_dbus_manager_get(), @@ -444,7 +448,7 @@ done: * state here. We don't bother updating the state as devices * change during regular operation. If NM is killed with SIGKILL, * it misses to update the state. */ - nm_manager_write_device_state (manager); + nm_manager_write_device_state_all (manager); nm_manager_stop (manager); |