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

_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to