Use initial-exec TLS model
[lttng-ust.git] / liblttng-ust-libc-wrapper / lttng-ust-pthread.c
index a049d33595a6d367416e627461221f1c8ad8c738..6554a47afe7057f3b8c2c21147574c2f77d5ad09 100644 (file)
  */
 
 #define _GNU_SOURCE
-#define _LGPL_SOURCE
+/*
+ * Do _not_ define _LGPL_SOURCE because we don't want to create a
+ * circular dependency loop between this malloc wrapper, liburcu and
+ * libc.
+ */
 #include <lttng/ust-dlfcn.h>
+#include <urcu/tls-compat.h>
 #include <helper.h>
 #include <pthread.h>
 
@@ -27,7 +32,7 @@
 #define TP_IP_PARAM ip
 #include "ust_pthread.h"
 
-static __thread int thread_in_trace;
+static DEFINE_URCU_TLS_IE(int, thread_in_trace);
 
 int pthread_mutex_lock(pthread_mutex_t *mutex)
 {
This page took 0.024347 seconds and 4 git commands to generate.