[cairo] Additional option for pixman library configuration in single-thread environment

Jeff Muizelaar jeff at infidigm.net
Tue Apr 27 13:27:02 PDT 2010


On 19/04/10 6:34 AM, Soeren Sandmann wrote:
> It's probably reasonable to do this given that cairo has the
> corresponding feature, but I'd prefer to have to #error in
> pixman-compiler.h extended to say something similar to the one in
> cairo: That you can defined PIXMAN_NO_TLS, but pixman won't work with
> multiple threads.
>    
I'll commit this patch in a bit unless there are any complaints.

diff --git a/pixman/pixman-compiler.h b/pixman/pixman-compiler.h
index 531c8c9..840882d 100644
--- a/pixman/pixman-compiler.h
+++ b/pixman/pixman-compiler.h
@@ -70,7 +70,14 @@
  #endif

  /* TLS */
-#if defined(TOOLCHAIN_SUPPORTS__THREAD)
+#if defined(PIXMAN_NO_TLS)
+
+#   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)            \
+    static type name
+#   define PIXMAN_GET_THREAD_LOCAL(name)                \
+    (&name)
+
+#elif defined(TOOLCHAIN_SUPPORTS__THREAD)

  #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)            \
      static __thread type name
@@ -126,6 +133,6 @@

  #else

-#    error "Unknown thread local support for this system"
+#    error "Unknown thread local support for this system. Pixman will 
not work with multiple threads. Define PIXMAN_NO_TLS to acknowledge and 
accept this limitation and compile pixman without thread-safety support."

  #endif



More information about the cairo mailing list