The pthread_getspecific function returns the value currently bound to the specified key on behalf of the calling thread.
The effect of calling pthread_getspecific with a key value not obtained from pthread_key_create or after key has been deleted with pthread_key_delete is undefined.
The pthread_getspecific function may be called from a thread-specific data destructor function.
The pthread_getspecific function will return the thread-specific data value associated with the given key. If no thread-specific data value is associated with key, then the value NULL is returned.
pthread_key_create(3), pthread_key_delete(3), pthread_setspecific(3)