Use pthread_setspecific(3C) to set the thread-specific binding to the specified thread-specific data key.
int pthread_setspecific(pthread_key_t key, const void *value);
#include <pthread.h> pthread_key_t key; void *value; int ret; /* key previously created */ ret = pthread_setspecific(key, value);
pthread_setspecific() returns zero after completing successfully. Any other return value indicates that an error occurred. When any of the following conditions occur, pthread_setspecific() fails and returns the corresponding value.
ENOMEM
Description: Insufficient virtual memory is available.
EINVAL
Description: key is invalid.