diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2007-09-21 10:45:55 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2007-09-25 16:29:54 +0100 |
commit | 8b6c871c9084739460f1320cd36560a09477a83e (patch) | |
tree | d6f0259aaff65a247d97edb8bb557d5febdc2b5e /src/cairo-mutex-list-private.h | |
parent | 42de1a0a7f5cc10c2bad98ef69da302ed2a1ca84 (diff) |
[cairo-atomic] Introduce atomic ops.
Test for the availability of the Intel __sync_* atomic primitives and
use them to define a few operations useful for reference counting -
providing a generic interface that may be targeted at more architectures
in the future. If no atomic primitives are available, use a mutex based
variant. If the contention on that mutex is too high, we can consider
using an array of mutexes using the address of the atomic variable as
the hash.
Diffstat (limited to 'src/cairo-mutex-list-private.h')
-rw-r--r-- | src/cairo-mutex-list-private.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-mutex-list-private.h b/src/cairo-mutex-list-private.h index abb4a9a3..99607974 100644 --- a/src/cairo-mutex-list-private.h +++ b/src/cairo-mutex-list-private.h @@ -46,6 +46,9 @@ CAIRO_MUTEX_DECLARE (_cairo_ft_unscaled_font_map_mutex); CAIRO_MUTEX_DECLARE (_cairo_xlib_display_mutex); #endif +#ifndef CAIRO_HAS_ATOMIC_OPS +CAIRO_MUTEX_DECLARE (_cairo_atomic_mutex); +#endif /* Undefine, to err on unintended inclusion */ #undef CAIRO_MUTEX_DECLARE |