[cairo] Implement CAIRO_MUTEX_IS_{,UN}LOCKED

Uli Schlachter psychon at znc.in
Sun Dec 11 12:33:07 PST 2011


while digging into bug #38904, I noticed that the image backend doesn't freeze
the font cache which I guess is what causes this bug.

As a first step towards a fix, I wrote the attached patch. The goal is to make
the asserts() work which are supposed to notice those unsynchronized calls. A
test suite run confirms that lots of asserts trigger.

What is missing is a way to hook this up with configure (if needed) or coming up
with another way to make this configurable.

Would anyone mind if I add a configure switch for this? Should it be enabled via
hand-editing a header and defining CAIRO_MUTEX_DEBUG (which doesn't seem to be
doing anything currently)?

Should I turn this into a proper patch which can be pushed? Anyone wants to help
fixing the failing asserts?


P.S.: Most of this a single bug in cairo-xcb, but still:

15 Passed, 434 Failed [430 crashed, 1 expected], 21 Skipped
- Captain, I think I should tell you I've never
  actually landed a starship before.
- That's all right, Lieutenant, neither have I.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mutex_is_locked.patch
Type: text/x-diff
Size: 2992 bytes
Desc: not available
URL: <http://lists.cairographics.org/archives/cairo/attachments/20111211/d53fcbd8/attachment.patch>

More information about the cairo mailing list