mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-09 15:18:08 +02:00
core: avoid creating devcon data that we don't need
Otherwise, we create device × profiles entries, most of them nonsensical.
This commit is contained in:
parent
87b46e1663
commit
a019d965f7
2 changed files with 15 additions and 6 deletions
|
|
@ -1456,7 +1456,11 @@ nm_manager_devcon_autoconnect_retries_blocked_until(NMManager *self,
|
||||||
nm_assert(NM_IS_SETTINGS_CONNECTION(sett_conn));
|
nm_assert(NM_IS_SETTINGS_CONNECTION(sett_conn));
|
||||||
|
|
||||||
if (device) {
|
if (device) {
|
||||||
data = _devcon_lookup_data(self, device, sett_conn, TRUE, TRUE);
|
data = _devcon_lookup_data(self, device, sett_conn, FALSE, FALSE);
|
||||||
|
|
||||||
|
if (!data)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return data->autoconnect.blocked_until_sec;
|
return data->autoconnect.blocked_until_sec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1487,7 +1491,10 @@ nm_manager_devcon_autoconnect_is_blocked(NMManager *self,
|
||||||
if (nm_settings_connection_autoconnect_is_blocked(sett_conn))
|
if (nm_settings_connection_autoconnect_is_blocked(sett_conn))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
data = _devcon_lookup_data(self, device, sett_conn, TRUE, TRUE);
|
data = _devcon_lookup_data(self, device, sett_conn, FALSE, FALSE);
|
||||||
|
|
||||||
|
if (!data)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
if (data->autoconnect.blocked_reason != NM_SETTINGS_AUTOCONNECT_BLOCKED_REASON_NONE)
|
if (data->autoconnect.blocked_reason != NM_SETTINGS_AUTOCONNECT_BLOCKED_REASON_NONE)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
||||||
|
|
@ -1758,11 +1758,13 @@ _connection_autoconnect_retries_set(NMPolicy *self,
|
||||||
if (tries == 0) {
|
if (tries == 0) {
|
||||||
/* Schedule a handler to reset retries count */
|
/* Schedule a handler to reset retries count */
|
||||||
if (!priv->reset_connections_retries_idle_source) {
|
if (!priv->reset_connections_retries_idle_source) {
|
||||||
gint32 retry_time = nm_manager_devcon_autoconnect_retries_blocked_until(priv->manager,
|
gint32 retry_time;
|
||||||
|
|
||||||
|
retry_time = nm_manager_devcon_autoconnect_retries_blocked_until(priv->manager,
|
||||||
device,
|
device,
|
||||||
connection);
|
connection);
|
||||||
|
nm_assert(retry_time != 0);
|
||||||
|
|
||||||
g_warn_if_fail(retry_time != 0);
|
|
||||||
priv->reset_connections_retries_idle_source = nm_g_timeout_add_seconds_source(
|
priv->reset_connections_retries_idle_source = nm_g_timeout_add_seconds_source(
|
||||||
MAX(0, retry_time - nm_utils_get_monotonic_timestamp_sec()),
|
MAX(0, retry_time - nm_utils_get_monotonic_timestamp_sec()),
|
||||||
reset_connections_retries,
|
reset_connections_retries,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue