Re: linux vs. win32: gdk_threads_enter behaving different



Ok, forget that.
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html 4th paragraph in
Description
"Unfortunately the above holds with the X11 backend only. With the Win32
backend, GDK calls should not be attempted from multiple threads at all."

so If you want to do multithreading on win32, idle_add (or some way of
getting averything back into one thread) seems to be the only way.

Jonathan

On 6/15/07, Jonathan Winterflood <jonathan winterflood gmail com> wrote:

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




--
<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]