diff options
| author | Dan Williams <dcbw@redhat.com> | 2013-11-14 11:33:12 -0600 |
|---|---|---|
| committer | Dan Williams <dcbw@redhat.com> | 2013-11-14 11:34:07 -0600 |
| commit | 6a75c9b8e8c92562bd16ac63718167926cd09317 (patch) | |
| tree | 1bdb5a48a5ddbe94a0514af82d7fb58cb587aaa0 | |
| parent | 7a256b9a05c3d872646912f811034861781cffc9 (diff) | |
| download | NetworkManager-6a75c9b8e8c92562bd16ac63718167926cd09317.tar.gz | |
core: allow default wired connections to stay up when quitting
Previously, the default wired connection was removed on quit when the
device was cleaned up. This is inconsistent with other connections.
Leave the default wired connection up when quitting to fix this
inconsistency.
This allows default wired connections to be assumed when NM starts.
| -rw-r--r-- | src/nm-manager.c | 2 | ||||
| -rw-r--r-- | src/settings/nm-settings.c | 9 | ||||
| -rw-r--r-- | src/settings/nm-settings.h | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index 039a6067e6..bf03084886 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -814,7 +814,7 @@ remove_device (NMManager *manager, NMDevice *device, gboolean quitting) g_signal_handlers_disconnect_matched (device, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, manager); - nm_settings_device_removed (priv->settings, device); + nm_settings_device_removed (priv->settings, device, quitting); g_signal_emit (manager, signals[DEVICE_REMOVED], 0, device); g_object_unref (device); diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index e6d98ff067..8c29a9111b 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -1591,14 +1591,19 @@ nm_settings_device_added (NMSettings *self, NMDevice *device) } void -nm_settings_device_removed (NMSettings *self, NMDevice *device) +nm_settings_device_removed (NMSettings *self, NMDevice *device, gboolean quitting) { NMSettingsConnection *connection; connection = g_object_get_data (G_OBJECT (device), DEFAULT_WIRED_CONNECTION_TAG); if (connection) { default_wired_clear_tag (self, device, connection, FALSE); - nm_settings_connection_delete (connection, NULL, NULL); + + /* Don't delete the default wired connection on shutdown, so that it + * remains up and can be assumed if NM starts again. + */ + if (quitting == FALSE) + nm_settings_connection_delete (connection, NULL, NULL); } } diff --git a/src/settings/nm-settings.h b/src/settings/nm-settings.h index 1f97240d72..345eb04d44 100644 --- a/src/settings/nm-settings.h +++ b/src/settings/nm-settings.h @@ -120,6 +120,6 @@ char *nm_settings_get_hostname (NMSettings *self); void nm_settings_device_added (NMSettings *self, NMDevice *device); -void nm_settings_device_removed (NMSettings *self, NMDevice *device); +void nm_settings_device_removed (NMSettings *self, NMDevice *device, gboolean quitting); #endif /* __NM_SETTINGS_H__ */ |
