diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2019-01-25 10:52:15 +0100 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2019-01-25 11:24:27 +0100 |
| commit | e8ac7dacdcf4b38addef4f8ac6ab038f9d29582c (patch) | |
| tree | 017883e210043859ee695250f6285380b795f8e4 /src/nm-dbus-manager.c | |
| parent | b05c072fe2594e0369cbfb00a3fba176d2d309dc (diff) | |
| parent | 1b878e595ff7be634a4800ca6cc506046e49548e (diff) | |
Merge remote-tracking branch 'salsa/master' into disco
Diffstat (limited to 'src/nm-dbus-manager.c')
| -rw-r--r-- | src/nm-dbus-manager.c | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/nm-dbus-manager.c b/src/nm-dbus-manager.c index c89f8276..a5c7c12b 100644 --- a/src/nm-dbus-manager.c +++ b/src/nm-dbus-manager.c @@ -1084,7 +1084,7 @@ _obj_unregister (NMDBusManager *self, NULL); } -NMDBusObject * +gpointer nm_dbus_manager_lookup_object (NMDBusManager *self, const char *path) { NMDBusManagerPrivate *priv; @@ -1480,7 +1480,11 @@ nm_dbus_manager_start (NMDBusManager *self, g_return_if_fail (NM_IS_DBUS_MANAGER (self)); priv = NM_DBUS_MANAGER_GET_PRIVATE (self); - g_return_if_fail (priv->connection); + + if (!priv->connection) { + /* Do nothing. We're presumably in the configure-and-quit mode. */ + return; + } priv->set_property_handler = set_property_handler; priv->set_property_handler_data = set_property_handler_data; @@ -1505,29 +1509,17 @@ nm_dbus_manager_acquire_bus (NMDBusManager *self) priv = NM_DBUS_MANAGER_GET_PRIVATE (self); - /* we will create the D-Bus connection and registering the name synchronously. - * The reason why that is necessary is because: - * (1) if we are unable to create a D-Bus connection, it means D-Bus is not - * available and we run in D-Bus less mode. We do not support creating - * a D-Bus connection later on. This disconnected mode is useful for initrd - * (well, currently not yet, but will be). - * (2) if we are able to create the connection and register the name, - * all is good and we run with D-Bus. Note that D-Bus disconnects - * from D-Bus are ignored. Essentially, we do not support restarting - * D-Bus. - * (3) if we are able to create the connection but registration fails, - * it means that something is borked. Quite possibly another NetworkManager - * instance is running. We need to exit right away. - * To appease (1) and (3), we cannot initalize synchronously, because we need - * to know right away whether another NetworkManager instance is running (3). - **/ - + /* Create the D-Bus connection and registering the name synchronously. + * That is necessary because we need to exit right away if we can't + * acquire the name despite connecting to the bus successfully. + * It means that something is gravely broken -- such as another NetworkManager + * instance running. */ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); if (!connection) { - _LOGI ("cannot connect to D-Bus and proceed without (%s)", error->message); - return TRUE; + _LOGI ("cannot connect to D-Bus: %s", error->message); + return FALSE; } g_dbus_connection_set_exit_on_close (connection, FALSE); |