__libc_tsd
extern struct __libc_tsd __libc_tsd[TSD_KEYS_MAX];
struct __libc_tsd __libc_tsd[TSD_KEYS_MAX];
if (__libc_tsd[i].tsd_inuse == 0)
if (__libc_tsd[i].tsd_inuse == 0)
__libc_tsd[i].tsd_inuse = 1;
__libc_tsd[i].tsd_dtor = d;
__libc_tsd[k].tsd_val = __UNCONST(v);
return (__libc_tsd[k].tsd_val);
__libc_tsd[k].tsd_dtor = NULL;
if (__libc_tsd[key].tsd_inuse == 0)
pthread__tsd_destructors[key] = __libc_tsd[key].tsd_dtor ?
__libc_tsd[key].tsd_dtor : null_destructor;
pt->pts_value = __libc_tsd[key].tsd_val;
__libc_tsd[key].tsd_inuse = 0;