1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
extern int NextId(); class TLSClass { public: TLSClass() { id = NextId(); bar = 1; } ~TLSClass() {} int id; int bar; }; extern TLSClass* NextTLSClass(); extern void *SetTLSClass(TLSClass *a); extern TLSClass *GetTLSClass(); extern thread_local TLSClass* current_tls_;