xref: /aosp_15_r20/external/musl/src/thread/pthread_setspecific.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h"
2*c9945492SAndroid Build Coastguard Worker 
pthread_setspecific(pthread_key_t k,const void * x)3*c9945492SAndroid Build Coastguard Worker int pthread_setspecific(pthread_key_t k, const void *x)
4*c9945492SAndroid Build Coastguard Worker {
5*c9945492SAndroid Build Coastguard Worker 	struct pthread *self = __pthread_self();
6*c9945492SAndroid Build Coastguard Worker 	/* Avoid unnecessary COW */
7*c9945492SAndroid Build Coastguard Worker 	if (self->tsd[k] != x) {
8*c9945492SAndroid Build Coastguard Worker 		self->tsd[k] = (void *)x;
9*c9945492SAndroid Build Coastguard Worker 		self->tsd_used = 1;
10*c9945492SAndroid Build Coastguard Worker 	}
11*c9945492SAndroid Build Coastguard Worker 	return 0;
12*c9945492SAndroid Build Coastguard Worker }
13