Re: g_idle_add patch proposal



Thats not correct!

I really digged into it.
If I for example search on the vimeo plugin, a curl blocking function in libquvi gets called after a while.
and that locks the  main context for a while.
So if I use a main context running on another thread the problem is solved.
To do so we need to add that modifications.

Cheers

On 24.05.2013, at 14:28, Bastien Nocera wrote:

On Tue, 2013-05-21 at 20:43 +0200, Roland Peffer wrote:
Hi
I noticed that when I tried to resolve an url of an url media object from vimeo or youtube my program 
often got frozen for a few seconds.
After stepping through the code I realized that the idle functions called by g_add_idle and  
g_add_idle_full in grl-source.c and other parts ended up in blocking functions like curl_perform_easy.
At least the  clutter_stage repainting sources also running on the same GMainContext got blocked that way.

I found a workaround for that that should not change the normal behavior:

It's not the g_idle_* functions that block the UI, but what's done in
their callbacks. You should move that to threads, and report the result
asynchronously.

Cheers





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]