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

Martin Robinson mrobinson at webkit.org
Mon Aug 22 08:40:06 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.

--Martin


More information about the webkit-gtk mailing list