Re: linux vs. win32: gdk_threads_enter behaving different



I too am rather intrigued by this problem...
I found this:
http://research.operationaldynamics.com/blogs/andrew/software/gnome-desktop/gtk-thread-awareness.html
and I'm wondering: is your gtk_main() surrounded by gdk_threads_enter/leave.
I imagine this missing would break in linux too, but just thinking...

I've yet to find the time to try multithreading gtk myself

Jonathan

On 6/15/07, Felix Kater <fkater googlemail com> wrote:

Kevin DeKorte <kdekorte gmail com> wrote:

> - From my limited GTK experience I have found that g_idle_add always
> seems to work better than using gtk_threads_enter/leave.

Yes, the reason why idle functions work in any case is most probably
because they are running in the same thread as where gtk was init'ed.
So, using idle functions probably means that you do not need
gdk_thread_enter at all. So, what it is for then?

The answer to this seems to be that gds_threads_enter is useful for
linux only (where you *do* can sync access to gtk from different threads
using gdk_threads_enter) on win32 you can't. However, this means that
code relying on gds_threads_enter is not necessarily portable.

Also, I'd like to understand why gdk_threads_enter() does not work on
gtk/win32. So, maybe there is a solution with an own recursive lock
instead of wrapping all into idle functions.

Felix
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list




--
<Morpheus> linux, c'est une question de VI ou de MORE



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