urcu: add hint to DEFINE_URCU_TLS() for compound types
[urcu.git] / urcu / tls-compat.h
index d7c7537042d9aca0f99abeb9c0ca7cc27b0fb934..192a53609fb5f6bc445f98fdd6bc26918126687e 100644 (file)
@@ -34,13 +34,28 @@ extern "C" {
 
 #ifdef CONFIG_RCU_TLS  /* Based on ax_tls.m4 */
 
+/*
+ * Hint: How to define/declare TLS variables of compound types
+ *       such as array or function pointers?
+ *
+ * Answer: Use typedef to assign a type_name to the compound type.
+ * Example: Define a TLS variable which is an int array with len=4:
+ *
+ *     typedef int my_int_array_type[4];
+ *     DEFINE_URCU_TLS(my_int_array_type, var_name);
+ *
+ * Another exmaple:
+ *     typedef void (*call_rcu_flavor)(struct rcu_head *, XXXX);
+ *     DECLARE_URCU_TLS(call_rcu_flavor, p_call_rcu);
+ */
+
 # define DECLARE_URCU_TLS(type, name)  \
-       CONFIG_RCU_TLS type __tls_ ## name
+       CONFIG_RCU_TLS type name
 
 # define DEFINE_URCU_TLS(type, name)   \
-       CONFIG_RCU_TLS type __tls_ ## name
+       CONFIG_RCU_TLS type name
 
-# define URCU_TLS(name)                (__tls_ ## name)
+# define URCU_TLS(name)                (name)
 
 #else /* #ifndef CONFIG_RCU_TLS */
 
This page took 0.022725 seconds and 4 git commands to generate.