diff options
author | Thomas Haller <thaller@redhat.com> | 2019-06-18 09:36:41 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2019-06-20 11:26:42 +0200 |
commit | 36cdfe703fcbe28330c19eab3365d72a59a8c660 (patch) | |
tree | 40ab0f129a37e2da589ed372569ed21f8419e1c5 | |
parent | 4f489ac4504db3cff5d2dee2b2dfff837e213798 (diff) |
connectivity: make platform argument to nm_connectivity_check_start() optional
The platform is used to detect whether to skip the connectivity check right away.
It should be an optional argument, so one could avoid this pre-check.
(cherry picked from commit b626baa3136b9309b0dd1d1fad48677413103269)
(cherry picked from commit a842280dbe43a3987f955ce4308d668069dd300b)
-rw-r--r-- | src/nm-connectivity.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c index 1424c906aa..dd73d0692a 100644 --- a/src/nm-connectivity.c +++ b/src/nm-connectivity.c @@ -870,6 +870,7 @@ nm_connectivity_check_start (NMConnectivity *self, g_return_val_if_fail (NM_IS_CONNECTIVITY (self), NULL); g_return_val_if_fail (callback, NULL); + nm_assert (!platform || NM_IS_PLATFORM (platform)); priv = NM_CONNECTIVITY_GET_PRIVATE (self); @@ -898,18 +899,20 @@ nm_connectivity_check_start (NMConnectivity *self, cb_data->concheck.ch_ifindex = ifindex; - state = check_platform_config (self, - platform, - ifindex, - addr_family, - &reason); - nm_assert ((state == NM_CONNECTIVITY_UNKNOWN) == !reason); - if (state != NM_CONNECTIVITY_UNKNOWN) { - _LOG2D ("skip connectivity check due to %s", reason); - cb_data->completed_state = state; - cb_data->completed_reason = reason; - cb_data->timeout_id = g_idle_add (_idle_cb, cb_data); - return cb_data; + if (platform) { + state = check_platform_config (self, + platform, + ifindex, + addr_family, + &reason); + nm_assert ((state == NM_CONNECTIVITY_UNKNOWN) == !reason); + if (state != NM_CONNECTIVITY_UNKNOWN) { + _LOG2D ("skip connectivity check due to %s", reason); + cb_data->completed_state = state; + cb_data->completed_reason = reason; + cb_data->timeout_id = g_idle_add (_idle_cb, cb_data); + return cb_data; + } } /* note that we pick up support for systemd-resolved right away when we need it. |