[webkit-gtk] What supposed to hold the GDK in calls from WebKit/gtk/WebCoreSupport

Yehouda Harpaz yeh at lispworks.com
Mon Aug 22 09:26:33 PDT 2011

>  On Mon, Aug 22, 2011 at 6:15 AM, Yehouda Harpaz <yeh at lispworks.com> wrote:
>  > No, I didn't.
>  > gtk_main releases the lock before calling  g_main_loop_run (see code
>  > below), so a lock around it will not help.
>  >
>  > The locking in GTK and GDK occurs because GDK adds its own GSources,
>  > and the dispatchs for them (gdk_threads_enter for timeouts and idles
>  > and gdk_event_dispatch for events on X11, code below) lock around
>  > executing the actual func.
>  I wonder if the problem here is that libsoup doesn't hold the GDK lock
>  during its callbacks. It couldn't, unless it depends on GDK. The issue
>  is that libsoup callbacks can have side effects with GDK operations.
>  The easiest solution would be to hold the GDK lock during Soup callbacks.

The Soup callbacks happend form the  g_main_loop_run by some idle
source, which is is establisg by Soup code itself, so to get this you
need to change the Soup source. Is that what you mean? 

More information about the webkit-gtk mailing list