glib: g_idle_add_full(): the callback is not called immediately
- From: Kyryll A Mirnenko aka Mirya <mirya zoc com ua>
- To: gtk-list gnome org
- Subject: glib: g_idle_add_full(): the callback is not called immediately
- Date: Wed, 19 Sep 2007 20:11:07 +0300
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?
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]