cairo/src/win32
Mikhail Fludkov 90104809b0 Surround initialisations with atomic critical section
Fixes the race condition when one thread uses cairo_mask_compositor_t
pointer returned by _cairo_image_mask_compositor_get, while another one
started but has not finished it's initialisation yet

Usage:
static cairo_atomic_once_t once = CAIRO_ATOMIC_ONCE_INIT;
if (_cairo_atomic_init_once_enter(&once)) {
    /* Initialization code */
    _cairo_atomic_init_once_leave(&once);
}

https://bugs.freedesktop.org/show_bug.cgi?id=103037
2017-10-15 18:51:04 +10:30
..
cairo-win32-debug.c win32: Rebase on the new compositor infrastructure 2012-02-15 14:37:11 +00:00
cairo-win32-device.c win32: Initialize mutexes for static builds for win32 2017-08-21 16:35:27 -07:00
cairo-win32-display-surface.c win32-print: support subsurface recording patterns 2015-10-17 22:42:37 +10:30
cairo-win32-font.c subsetting: support variable fonts 2017-05-28 09:12:56 +09:30
cairo-win32-gdi-compositor.c Surround initialisations with atomic critical section 2017-10-15 18:51:04 +10:30
cairo-win32-printing-surface.c Support tag operations in analysis and paginated surface 2016-10-01 17:30:13 +09:30
cairo-win32-private.h win32-print: Fix the page extents 2015-10-17 18:32:57 +10:30
cairo-win32-surface.c Add CAIRO_STATUS_WIN32_GDI_ERROR for GDI errors 2016-03-26 22:18:05 +10:30
cairo-win32-system.c win32: Rebase on the new compositor infrastructure 2012-02-15 14:37:11 +00:00