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