1 2 3 4 5 6 7 8 9 10 11 12
#include "pthread_impl.h" int pthread_setspecific(pthread_key_t k, const void *x) { struct pthread *self = __pthread_self(); /* Avoid unnecessary COW */ if (self->tsd[k] != x) { self->tsd[k] = (void *)x; self->tsd_used = 1; } return 0; }