[cairo] Solid surface cache causing cross-thread unhappiness

Carl Worth cworth at cworth.org
Wed Feb 28 10:38:17 PST 2007


On Wed, 28 Feb 2007 13:31:50 -0500, Behdad Esfahbod wrote:
> On Wed, 2007-02-28 at 12:13 -0500, Carl Worth wrote:
> >
> > I'm open for thoughts on the best approach to fix the problem.
>
> Weird that it happens.  We are locking around the cache, and return a
> new reference, so cache evictions should not destroy (as in ref=0) any
> pattern in use.

It doesn't have to be that it's hitting an in-use pattern.

It's probably just causing to threads to call into the same Display*
and making Xlib all over.

Now, I think there's some locking that the application can turn on for
Xlib (or through GDK) that could make this work. But a question is
whether it's reasonable for a user to expect that using cairo's image
backend in one thread could call into the Display* of xlib surfaces
used only in separate threads.

-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20070228/69545663/attachment.pgp


More information about the cairo mailing list