diff options
Diffstat (limited to 'gfx/cairo/cairo/src/cairo-atomic.c')
-rw-r--r-- | gfx/cairo/cairo/src/cairo-atomic.c | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/gfx/cairo/cairo/src/cairo-atomic.c b/gfx/cairo/cairo/src/cairo-atomic.c index 2af50cd387..3c4d519729 100644 --- a/gfx/cairo/cairo/src/cairo-atomic.c +++ b/gfx/cairo/cairo/src/cairo-atomic.c @@ -42,7 +42,7 @@ COMPILE_TIME_ASSERT(sizeof(void*) == sizeof(int) || sizeof(void*) == sizeof(long long)); #else void -_cairo_atomic_int_inc (cairo_atomic_intptr_t *x) +_cairo_atomic_int_inc (cairo_atomic_int_t *x) { CAIRO_MUTEX_LOCK (_cairo_atomic_mutex); *x += 1; @@ -50,7 +50,7 @@ _cairo_atomic_int_inc (cairo_atomic_intptr_t *x) } cairo_bool_t -_cairo_atomic_int_dec_and_test (cairo_atomic_intptr_t *x) +_cairo_atomic_int_dec_and_test (cairo_atomic_int_t *x) { cairo_bool_t ret; @@ -61,10 +61,10 @@ _cairo_atomic_int_dec_and_test (cairo_atomic_intptr_t *x) return ret; } -cairo_atomic_intptr_t -_cairo_atomic_int_cmpxchg_return_old_impl (cairo_atomic_intptr_t *x, cairo_atomic_intptr_t oldv, cairo_atomic_intptr_t newv) +cairo_atomic_int_t +_cairo_atomic_int_cmpxchg_return_old_impl (cairo_atomic_int_t *x, cairo_atomic_int_t oldv, cairo_atomic_int_t newv) { - cairo_atomic_intptr_t ret; + cairo_atomic_int_t ret; CAIRO_MUTEX_LOCK (_cairo_atomic_mutex); ret = *x; @@ -90,10 +90,10 @@ _cairo_atomic_ptr_cmpxchg_return_old_impl (void **x, void *oldv, void *newv) } #ifdef ATOMIC_OP_NEEDS_MEMORY_BARRIER -cairo_atomic_intptr_t -_cairo_atomic_int_get (cairo_atomic_intptr_t *x) +cairo_atomic_int_t +_cairo_atomic_int_get (cairo_atomic_int_t *x) { - cairo_atomic_intptr_t ret; + cairo_atomic_int_t ret; CAIRO_MUTEX_LOCK (_cairo_atomic_mutex); ret = *x; @@ -102,19 +102,31 @@ _cairo_atomic_int_get (cairo_atomic_intptr_t *x) return ret; } -cairo_atomic_intptr_t -_cairo_atomic_int_get_relaxed (cairo_atomic_intptr_t *x) +cairo_atomic_int_t +_cairo_atomic_int_get_relaxed (cairo_atomic_int_t *x) { return _cairo_atomic_int_get (x); } void -_cairo_atomic_int_set_relaxed (cairo_atomic_intptr_t *x, cairo_atomic_intptr_t val) +_cairo_atomic_int_set_relaxed (cairo_atomic_int_t *x, cairo_atomic_int_t val) { CAIRO_MUTEX_LOCK (_cairo_atomic_mutex); *x = val; CAIRO_MUTEX_UNLOCK (_cairo_atomic_mutex); } + +void* +_cairo_atomic_ptr_get (void **x) +{ + void *ret; + + CAIRO_MUTEX_LOCK (_cairo_atomic_mutex); + ret = *x; + CAIRO_MUTEX_UNLOCK (_cairo_atomic_mutex); + + return ret; +} #endif #endif |