diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2015-07-22 10:33:49 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-07-22 14:49:16 +0200 |
commit | 5e9dd4b267b7dacc96da6beca1df0ec9781c362b (patch) | |
tree | 40e63076c58149e554cb1909b282d1ecaacab4cd | |
parent | 0ab389e15cde106e0e66f25f5f3a74a8c0607f39 (diff) | |
download | NetworkManager-5e9dd4b267b7dacc96da6beca1df0ec9781c362b.tar.gz |
default-route-manager: pick up platform changes after NMDevice
If a default route is configured externally, we want the device to pick the
change and register it with the default-route-manager first.
https://bugzilla.redhat.com/show_bug.cgi?id=1244483
(cherry picked from commit e67b52ed16afebce538f2f1844cf6e854e27c64d)
-rw-r--r-- | src/nm-default-route-manager.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nm-default-route-manager.c b/src/nm-default-route-manager.c index fbb07ce3fc..b36dd44f3a 100644 --- a/src/nm-default-route-manager.c +++ b/src/nm-default-route-manager.c @@ -1290,7 +1290,9 @@ _resync_idle_reschedule (NMDefaultRouteManager *self) g_source_remove (priv->resync.idle_handle); else _LOGD (0, "resync: schedule on idle"); - priv->resync.idle_handle = g_idle_add ((GSourceFunc) _resync_idle_now, self); + /* Schedule this at low priority so that on an external change to platform + * a NMDevice has a chance to picks up the changes first. */ + priv->resync.idle_handle = g_idle_add_full (G_PRIORITY_LOW, (GSourceFunc) _resync_idle_now, self, NULL); } else if (!priv->resync.idle_handle) { priv->resync.idle_handle = g_timeout_add (priv->resync.backoff_wait_time_ms, (GSourceFunc) _resync_idle_now, self); _LOGD (0, "resync: schedule in %u.%03u seconds (%u)", priv->resync.backoff_wait_time_ms/1000, |