2005-04-01 Dan Williams <dcbw@redhat.com>

Perform scans during device activation, if needed.  Both activation
	and scans run in the same GMainContext.  Therefore, if an access point
	is not found by the time the device starts activation, it will not
	be available until after activation.  We now try to scan during
	activation (in nm_wa_test) every 15s so that all available access
	points are more likely to be found and available for the activation
	procedure.

	Also change nm_wireless_link_state_handle() to only update the "best"
	AP if we are not forcing a device and if we are not about to change
	state.  This attempts to work around a race when forcing a device,
	where the forced AP would get cleared out too soon by the link state
	checking timeout in the main thread, and the activation attempt with
	that AP would fail.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@545 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams
2005-04-01 21:30:12 +00:00
parent 2dd3759d36
commit 04eadd092c
4 changed files with 82 additions and 14 deletions

View File

@@ -409,8 +409,12 @@ gboolean nm_poll_and_update_wireless_link_state (NMData *data)
if ( (dev == data->active_device)
&& !nm_device_has_active_link (dev))
{
if (nm_device_get_supports_wireless_scan (dev))
if ( nm_device_get_supports_wireless_scan (dev)
&& !data->forcing_device
&& data->state_modified_idle_id == 0)
{
nm_device_update_best_ap (dev);
}
else
{
if ( !nm_device_is_activating (dev)