GNOME Bugzilla – Bug 730030
cairo: enable multithreading for cairo-xlib
Last modified: 2014-06-25 18:49:57 UTC
This fixes certain deadlocks in polari, caused by xlib getting confused with background finalization and waiting on the wrong request.
Created attachment 276405 [details] [review] cairo: enable multithreading for cairo-xlib We want to be able to free cairo objects from the background thread, and that means we must be able to make xlib calls from multiple threads. Which is ok, if we initialize xlib beforehand. We don't have a good place to initialize gjs, where we're sure to be called before the first XOpenDisplay(), so just stuff it into a constructor.
See also: http://lists.x.org/archives/xorg-devel/2013-July/036881.html
(In reply to comment #2) > See also: http://lists.x.org/archives/xorg-devel/2013-July/036881.html Well, yes, but that hasn't happened yet. So? Is this ok to go in?
Attachment 276405 [details] pushed as 3f09daa - cairo: enable multithreading for cairo-xlib