aboutsummaryrefslogtreecommitdiff
path: root/fontconfig/src/fcatomic.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-01-11 08:00:45 +0100
committermarha <marha@users.sourceforge.net>2013-01-11 08:00:45 +0100
commitddc05759f098f06bd93253a7bffe38640963dfb3 (patch)
treefd0ae943233033cda2bfe50dd097532a4cf5c0b9 /fontconfig/src/fcatomic.h
parent8a26872f0c9102cb357345eca24a4bf7401bbe70 (diff)
downloadvcxsrv-ddc05759f098f06bd93253a7bffe38640963dfb3.tar.gz
vcxsrv-ddc05759f098f06bd93253a7bffe38640963dfb3.tar.bz2
vcxsrv-ddc05759f098f06bd93253a7bffe38640963dfb3.zip
fontconfig libX11 mesa mkfontscale xserver git update 11 jan 2013
fontconfig: 0831c1770e4bac7269a190936bbb0529d747e233 libX11: 0b148750027fd0557c5ed93afda861ddf4b92e0f mkfontscale: 9cbe3256bc932b82f2435b23cda0931f4f5f5ba2 xserver: 6703a7c7cf1a349c137e247a0c8eb462ff7b07be mesa: babab2876080af0fe65249dff559244aebd0b87e
Diffstat (limited to 'fontconfig/src/fcatomic.h')
-rw-r--r--fontconfig/src/fcatomic.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/fontconfig/src/fcatomic.h b/fontconfig/src/fcatomic.h
index 72ae37280..a76431139 100644
--- a/fontconfig/src/fcatomic.h
+++ b/fontconfig/src/fcatomic.h
@@ -87,6 +87,18 @@ typedef int fc_atomic_int_t;
#define fc_atomic_ptr_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N))
+#elif !defined(FC_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS)
+
+#include <atomic.h>
+#include <mbarrier.h>
+
+typedef unsigned int fc_atomic_int_t;
+#define fc_atomic_int_add(AI, V) ( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V))
+
+#define fc_atomic_ptr_get(P) ( ({__machine_rw_barrier ();}), (void *) *(P))
+#define fc_atomic_ptr_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((P), (O), (N)) == (void *) (O) ? FcTrue : FcFalse)
+
+
#elif !defined(FC_NO_MT)
#define FC_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */