mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-07 02:38:08 +02:00
connectivity: simplify passing result to idle handler
(cherry picked from commit 19c957f091)
This commit is contained in:
parent
28540a8eb8
commit
3c2886f447
1 changed files with 12 additions and 13 deletions
|
|
@ -106,8 +106,6 @@ struct _NMConnectivityCheckHandle {
|
||||||
|
|
||||||
NMConnectivityState completed_state;
|
NMConnectivityState completed_state;
|
||||||
const char *completed_reason;
|
const char *completed_reason;
|
||||||
|
|
||||||
bool fail_reason_no_dbus_connection:1;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
@ -659,17 +657,10 @@ _idle_cb (gpointer user_data)
|
||||||
|
|
||||||
nm_assert (NM_IS_CONNECTIVITY (cb_data->self));
|
nm_assert (NM_IS_CONNECTIVITY (cb_data->self));
|
||||||
nm_assert (c_list_contains (&NM_CONNECTIVITY_GET_PRIVATE (cb_data->self)->handles_lst_head, &cb_data->handles_lst));
|
nm_assert (c_list_contains (&NM_CONNECTIVITY_GET_PRIVATE (cb_data->self)->handles_lst_head, &cb_data->handles_lst));
|
||||||
|
nm_assert (cb_data->completed_reason);
|
||||||
|
|
||||||
cb_data->timeout_id = 0;
|
cb_data->timeout_id = 0;
|
||||||
if (!cb_data->ifspec) {
|
cb_data_complete (cb_data, cb_data->completed_state, cb_data->completed_reason);
|
||||||
/* the invocation was with an invalid ifname. It is a fail. */
|
|
||||||
cb_data_complete (cb_data, NM_CONNECTIVITY_ERROR, "missing interface");
|
|
||||||
} else if (cb_data->fail_reason_no_dbus_connection)
|
|
||||||
cb_data_complete (cb_data, NM_CONNECTIVITY_ERROR, "no D-Bus connection");
|
|
||||||
else if (cb_data->completed_reason)
|
|
||||||
cb_data_complete (cb_data, cb_data->completed_state, cb_data->completed_reason);
|
|
||||||
else
|
|
||||||
cb_data_complete (cb_data, NM_CONNECTIVITY_FAKE, "fake result");
|
|
||||||
return G_SOURCE_REMOVE;
|
return G_SOURCE_REMOVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -950,7 +941,8 @@ nm_connectivity_check_start (NMConnectivity *self,
|
||||||
*
|
*
|
||||||
* Anyway, something is very odd, just fail connectivity check. */
|
* Anyway, something is very odd, just fail connectivity check. */
|
||||||
_LOG2D ("start fake request (fail due to no D-Bus connection)");
|
_LOG2D ("start fake request (fail due to no D-Bus connection)");
|
||||||
cb_data->fail_reason_no_dbus_connection = TRUE;
|
cb_data->completed_state = NM_CONNECTIVITY_ERROR;
|
||||||
|
cb_data->completed_reason = "no D-Bus connection";
|
||||||
cb_data->timeout_id = g_idle_add (_idle_cb, cb_data);
|
cb_data->timeout_id = g_idle_add (_idle_cb, cb_data);
|
||||||
return cb_data;
|
return cb_data;
|
||||||
}
|
}
|
||||||
|
|
@ -986,7 +978,14 @@ nm_connectivity_check_start (NMConnectivity *self,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_LOG2D ("start fake request");
|
if (!cb_data->ifspec) {
|
||||||
|
cb_data->completed_state = NM_CONNECTIVITY_ERROR;
|
||||||
|
cb_data->completed_reason = "missing interface";
|
||||||
|
} else {
|
||||||
|
cb_data->completed_state = NM_CONNECTIVITY_FAKE;
|
||||||
|
cb_data->completed_reason = "fake result";
|
||||||
|
}
|
||||||
|
_LOG2D ("start fake request (%s)", cb_data->completed_reason);
|
||||||
cb_data->timeout_id = g_idle_add (_idle_cb, cb_data);
|
cb_data->timeout_id = g_idle_add (_idle_cb, cb_data);
|
||||||
|
|
||||||
return cb_data;
|
return cb_data;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue