GRPC C++  1.26.0
Data Structures | Macros
tls_msvc.h File Reference

Go to the source code of this file.

Data Structures

struct  gpr_msvc_thread_local
 Thread local storage based on ms visual c compiler primitives. More...
 

Macros

#define GPR_TLS_DECL(name)   static __declspec(thread) struct gpr_msvc_thread_local name = {0}
 Use GPR_TLS_DECL to declare tls static variables outside a class. More...
 
#define GPR_TLS_CLASS_DECL(name)   static __declspec(thread) struct gpr_msvc_thread_local name
 Use GPR_TLS_CLASS_DECL to declare tls static variable members of a class. More...
 
#define GPR_TLS_CLASS_DEF(name)   __declspec(thread) struct gpr_msvc_thread_local name = {0}
 
#define gpr_tls_init(tls)
 
#define gpr_tls_destroy(tls)
 
#define gpr_tls_set(tls, new_value)   (((tls)->value) = (new_value))
 
#define gpr_tls_get(tls)   ((tls)->value)
 

Macro Definition Documentation

◆ GPR_TLS_CLASS_DECL

#define GPR_TLS_CLASS_DECL (   name)    static __declspec(thread) struct gpr_msvc_thread_local name

Use GPR_TLS_CLASS_DECL to declare tls static variable members of a class.

GPR_TLS_CLASS_DEF needs to be called to define this member.

◆ GPR_TLS_CLASS_DEF

#define GPR_TLS_CLASS_DEF (   name)    __declspec(thread) struct gpr_msvc_thread_local name = {0}

◆ GPR_TLS_DECL

#define GPR_TLS_DECL (   name)    static __declspec(thread) struct gpr_msvc_thread_local name = {0}

Use GPR_TLS_DECL to declare tls static variables outside a class.

◆ gpr_tls_destroy

#define gpr_tls_destroy (   tls)
Value:
do { \
} while (0)

◆ gpr_tls_get

#define gpr_tls_get (   tls)    ((tls)->value)

◆ gpr_tls_init

#define gpr_tls_init (   tls)
Value:
do { \
} while (0)

◆ gpr_tls_set

#define gpr_tls_set (   tls,
  new_value 
)    (((tls)->value) = (new_value))