glib: g_idle_add_full(): the callback is not called immediately

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

 



I'm not sure the list is correct, the question is regarding glib main loop.

The target platform is Linux (Fedora Code 5). I'm trying to integrate a 
threaded module with a non-threaded (uses Glib mainloop). The threaded module 
calls the function of the non-threaded and to reach a signle thread 
requirement passes the call as a main loop callback via g_idle_add_full().

The problem is that regardless of the priority passed as the first parameter 
(even G_PRIORITY_HIGH and i'm sure there's no higher priority events there) 
there's a long gap between g_idle_add_full() and the time Glib enters the 
callback function, also looks like some external event sources make the 
callback being called faster than just waiting without any external 
activation.

Please, give a light on this problem, e.g. what can be the cause of such 
behaviour or at least some workaround:
1) how do i "activate" the main loop manually (if such thing exists at all)?
2) how do i know i'm running the same thread with the mail loop so i can call 
the function directly instead of passing it to the event loop?
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux