Go to the documentation of this file. 34 #ifndef GRPC_SUPPORT_TLS_GCC_H 35 #define GRPC_SUPPORT_TLS_GCC_H 51 #define GPR_TLS_DECL(name) \ 52 static bool name##_inited = false; \ 53 static __thread struct gpr_gcc_thread_local name = {0, &(name##_inited)} 55 #define gpr_tls_init(tls) \ 57 GPR_ASSERT(*((tls)->inited) == false); \ 58 *((tls)->inited) = true; \ 62 #define gpr_tls_destroy(tls) \ 64 GPR_ASSERT(*((tls)->inited)); \ 65 *((tls)->inited) = false; \ 68 #define gpr_tls_set(tls, new_value) \ 70 GPR_ASSERT(*((tls)->inited)); \ 71 (tls)->value = (new_value); \ 74 #define gpr_tls_get(tls) \ 76 GPR_ASSERT(*((tls)->inited)); \ 86 #define GPR_TLS_DECL(name) \ 87 static __thread struct gpr_gcc_thread_local name = {0} 89 #define gpr_tls_init(tls) \ 92 #define gpr_tls_destroy(tls) \ 95 #define gpr_tls_set(tls, new_value) (((tls)->value) = (new_value)) 96 #define gpr_tls_get(tls) ((tls)->value) bool * inited
Definition: tls_gcc.h:48
intptr_t value
Definition: tls_gcc.h:47