diff options
author | marha <marha@users.sourceforge.net> | 2013-01-11 08:22:46 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-01-11 08:22:46 +0100 |
commit | 0e1adc84d471955eaabe26486154e8ec44e91dd4 (patch) | |
tree | e2363fb022bfa7b730b0032b4c35379aa2a997d6 /fontconfig/src | |
parent | e59b1896b907c5ecfe184723d4c6adc2c20fa678 (diff) | |
parent | ddc05759f098f06bd93253a7bffe38640963dfb3 (diff) | |
download | vcxsrv-0e1adc84d471955eaabe26486154e8ec44e91dd4.tar.gz vcxsrv-0e1adc84d471955eaabe26486154e8ec44e91dd4.tar.bz2 vcxsrv-0e1adc84d471955eaabe26486154e8ec44e91dd4.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
fontconfig libX11 mesa mkfontscale xserver git update 11 jan 2013
Conflicts:
mesalib/src/glsl/.gitignore
mesalib/src/glsl/glcpp/.gitignore
mesalib/src/mapi/glapi/gen/.gitignore
mesalib/src/mesa/program/.gitignore
Diffstat (limited to 'fontconfig/src')
-rw-r--r-- | fontconfig/src/fcatomic.h | 12 | ||||
-rw-r--r-- | fontconfig/src/fcint.h | 3 | ||||
-rw-r--r-- | fontconfig/src/fcstr.c | 13 |
3 files changed, 24 insertions, 4 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. */ diff --git a/fontconfig/src/fcint.h b/fontconfig/src/fcint.h index 3883bc96e..512926797 100644 --- a/fontconfig/src/fcint.h +++ b/fontconfig/src/fcint.h @@ -817,9 +817,6 @@ FcPrivate FcLangSet * FcFreeTypeLangSet (const FcCharSet *charset, const FcChar8 *exclusiveLang); -FcPrivate FcChar8 * -FcLangNormalize (const FcChar8 *lang); - FcPrivate FcLangResult FcLangCompare (const FcChar8 *s1, const FcChar8 *s2); diff --git a/fontconfig/src/fcstr.c b/fontconfig/src/fcstr.c index cdab38397..414d6dd6b 100644 --- a/fontconfig/src/fcstr.c +++ b/fontconfig/src/fcstr.c @@ -1217,6 +1217,17 @@ FcStrSetDel (FcStrSet *set, const FcChar8 *s) return FcFalse; } +/* TODO Make public */ +static FcStrSet * +FcStrSetReference (FcStrSet *set) +{ + if (FcRefIsConst (&set->ref)) + return set; + + FcRefInc (&set->ref); + return set; +} + void FcStrSetDestroy (FcStrSet *set) { @@ -1245,7 +1256,7 @@ FcStrListCreate (FcStrSet *set) if (!list) return 0; list->set = set; - FcRefInc (&set->ref); + FcStrSetReference (set); list->n = 0; return list; } |