On Mon, 2008-03-31 at 17:06 +0800, charlyliu wrote:
> Hi all,
> 
> I downloaded the last friday's svn revision and I saw that in this version it 
> doesn't update well the ap list in the file nm-device-802-11-wireless.c from 
> libnm-glib. More exactly the problem is in function 
> nm_device_802_11_wireless_get_access_points (well, I think). After looking a 
> little bit, I don't understand why there is a condition for priv->aps. the 
> code is: 
> 
> if (priv->aps)
>               return handle_ptr_array_return (priv->aps);
> 
> If I remove this lines, it works and I didn't notice any new bug.

If you remove those lines, you're hitting up D-Bus every time you call
get_access_points(), and that adds latency to the call.  libnm-glib
updates the access point list asynchronously based on signals sent from
NetworkManager (see access_point_added_proxy() and
access_point_removed_proxy()).  Therefore, if priv->aps exists, it's
guaranteed (presuming those two functions work right) that the AP list
is always up-to-date, and you don't need to ask NetworkManager for it
again.

There was a bug in access_point_added_proxy() which wouldn't add new APs
to the list, which was fixed over the weekend.  Give latest SVN a try
and see if that helps.

Dan

_______________________________________________
NetworkManager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to