Re: Idle Function Not Getting Called



On Sat, 12 Sep 2009 17:46:17 -0400 (EDT)
Marshall Lake <mlake mlake net> wrote:
The important point in looking at out-of-order locking (or other 
locking issues) is that the idle handler runs in the thread in
which the main program loop runs, not the thread which called
g_idle_add()/ g_idle_add_full(), and that it runs at a time not
of that calling thread's choosing.

I don't quite understand this.  Don't all idle functions run in
the main program loop thread?

Yes.

Then I don't understand what you mean by "the idle handler runs in
the thread in which the main program loop runs, not the thread which
called g_idle_add()/g_idle_add_full()".

Maybe I don't know what idle "handler" is but isn't that a moot point 
since the idle function (handler?) always runs in the main program
loop thread?
 
Perhaps we speak slightly different versions of English, but I was
merely alerting you to the fact that the idle callback runs in the main
program loop, in case you didn't realise that. Clearly you do, which
is fine.

Incidentally, to see if you have recursive locking have you tried
recursive mutexes to see if that exhibits the same problem or not?  If
they don't your search is narrowed considerably.

Chris





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