Web lists-archives.com

Re: [PATCH 1/2] do not wake up main loop adding if change is from same thread




Hi;

Thanks for you patches.

GLib uses Bugzilla[0] to track patches and contributions. Please, use:

  https://bugzilla.gnome.org/enter_bug.cgi?product=glib

to file a bug report and attach your patches there.

Thanks again!

Ciao,
 Emmanuele.


On 25 January 2016 at 15:08, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote:
> This reduce the frequency the loop is waked up adding and removing
> file descriptors or timeouts.
> Considering that to support recursion events are removed from list and
> added again this reduce iteration number a lot.
>
> Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
> ---
>  glib/gmain.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/glib/gmain.c b/glib/gmain.c
> index 29ccee0..1e9850f 100644
> --- a/glib/gmain.c
> +++ b/glib/gmain.c
> @@ -1797,7 +1797,8 @@ g_source_set_ready_time (GSource *source,
>      {
>        /* Quite likely that we need to change the timeout on the poll */
>        if (!SOURCE_BLOCKED (source))
> -        g_wakeup_signal (context->wakeup);
> +        if (context->owner && context->owner != G_THREAD_SELF)
> +          g_wakeup_signal (context->wakeup);
>        UNLOCK_CONTEXT (context);
>      }
>  }
> @@ -4259,7 +4260,8 @@ g_main_context_add_poll_unlocked (GMainContext *context,
>    context->poll_changed = TRUE;
>
>    /* Now wake up the main loop if it is waiting in the poll() */
> -  g_wakeup_signal (context->wakeup);
> +  if (context->owner && context->owner != G_THREAD_SELF)
> +    g_wakeup_signal (context->wakeup);
>  }
>
>  /**
> @@ -4319,7 +4321,8 @@ g_main_context_remove_poll_unlocked (GMainContext *context,
>    context->poll_changed = TRUE;
>
>    /* Now wake up the main loop if it is waiting in the poll() */
> -  g_wakeup_signal (context->wakeup);
> +  if (context->owner && context->owner != G_THREAD_SELF)
> +    g_wakeup_signal (context->wakeup);
>  }
>
>  /**
> --
> 2.4.3
>
> _______________________________________________
> gtk-devel-list mailing list
> gtk-devel-list@xxxxxxxxx
> https://mail.gnome.org/mailman/listinfo/gtk-devel-list



-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-devel-list