Re: Idle Function Not Getting Called

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.

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.

I've taken some time to check the mutex and locks/unlocks between the secondary thread and the idle function. All appear as it should. The locks/unlocks are being applied in an orderly fashion and as they should be, and there are no recursive locks. The program flows as it should.

I still feel my problem has something to do with the secondary thread and idle function working together but at this point I'm not sure what to check next.

Marshall Lake -- mlake mlake net --

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