On Wed, 2009-07-08 at 13:22 +0100, Daniel Drake wrote:
> From: Sjoerd Simons <sjoerd.sim...@collabora.co.uk>
> 
> Throttle requesting scan results to be at least four seconds, instead
> of always forcing a 4 second delay after the first scan.

Applied, thanks.

Dan


>  src/supplicant-manager/nm-supplicant-interface.c |   14 +++++++++++---
>  1 files changed, 11 insertions(+), 3 deletions(-)
> 
> For master branch
> 
> diff --git a/src/supplicant-manager/nm-supplicant-interface.c 
> b/src/supplicant-manager/nm-supplicant-interface.c
> index 636005e..00f0c30 100644
> --- a/src/supplicant-manager/nm-supplicant-interface.c
> +++ b/src/supplicant-manager/nm-supplicant-interface.c
> @@ -597,15 +597,23 @@ static void
>  wpas_iface_query_scan_results (DBusGProxy *proxy, gpointer user_data)
>  {
>       NMSupplicantInterfacePrivate *priv = 
> NM_SUPPLICANT_INTERFACE_GET_PRIVATE (user_data);
> +     GTimeVal cur_time;
>  
>       /* Only query scan results if a query is not queued */
>       if (priv->scan_results_timeout)
>               return;
>  
> +     g_get_current_time (&cur_time);
> +
>       /* Only fetch scan results every 4s max, but initially do it right away 
> */
> -     priv->scan_results_timeout = g_timeout_add_seconds (priv->last_scan ? 4 
> : 0,
> -                                                         
> request_scan_results,
> -                                                         user_data);
> +     if (priv->last_scan + 4 < cur_time.tv_sec) {
> +             priv->scan_results_timeout = g_idle_add (request_scan_results,
> +                                                      user_data);
> +     } else {
> +             priv->scan_results_timeout =
> +                     g_timeout_add_seconds ((4 - (cur_time.tv_sec - 
> priv->last_scan)),
> +                                    request_scan_results, user_data);
> +     }
>  }
>  
>  static guint32

_______________________________________________
NetworkManager-list mailing list
NetworkManager-list@gnome.org
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to