Re: gdk threads enter/leave not enough?



Tristan Van Berkom <tristan van berkom gmail com> wrote:

I never call gtk+ directly but have my own wrappers which take care of
gdk_threads_enter/leave. So I am sure I haven't forgotton it somewhere.

This could be dangerous, you'll deadlock if you call threads_enter from
a signal handler that was launched by a gtk+ widget (because the lock
has to be already aquired for the signal to be dispatched).

Ok, I see, however, in win32 this works. It's strange but true. I
remember, though, that trying my gtk/win32 code on a linux machine did
end up in a deadlock. Thanks again for pointing that out, however, this
is probably not the reason here.


But what do you mean by "including the parent"? Do I have to wrap something
into gdk_threads_enter/leave additionally to the gtk+ calls?

I mean including the the process that called g_thread_create().

Maybe this is the solution (?). But I don't get the point... Why should
I wrap the parent process into gdk_threads_enter/leave? And, what
should I wrap? The whole process or only the call to g_thread_create?
But this hasn't got anything to do with gtk+, has it?


Also, incase you didnt pick this up in the tutorial or api docs, you also have to
wrap gtk_main() in an enter/leave pair,

Thanks, I did that already.


Felix



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