Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > P


Pthread Library
HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


pthread_getspecific(), pthread_setspecific() — get or set the thread-specific data associated with a key


#include <pthread.h>

void *pthread_getspecific( pthread_key_t key );

int pthread_setspecific( pthread_key_t key, const void *value );



Thread-specific data key whose value for the calling thread is to be set or retrieved.


Value to be assigned to the thread-specific data key for the calling thread.


The pthread_getspecific() function returns the thread-specific data value associated with key for the calling thread. If no value has been associated with key for the calling thread, NULL is returned.

The pthread_setspecific() function associates the thread-specific data value with key. Each thread may bind a different value to key. These values are usually pointers to memory dynamically allocated by the calling thread.

key must be a valid thread-specific data key created by calling pthread_key_create(). If key is not a valid thread-specific data key, undefined behavior results when calling these functions.

These functions may be called from a thread-specific data destructor function. However, calling pthread_setspecific() from a destructor may result in lost storage.


The function pthread_getspecific() returns the thread-specific data value associated with key. If no thread-specific data value is currently associated with key, the value NULL is returned.

If successful, pthread_setspecific() returns zero. Otherwise, an error number is returned to indicate the error (the errno variable is not set).


No errors are returned by the pthread_getspecific() function.

If any of the following occur, the pthread_setspecific() function returns the corresponding error number:


There is insufficient memory available in which to associate value with key.

For each of the following conditions, if the condition is detected, the pthread_setspecific() function returns the corresponding error number:


key is an invalid thread-specific data key.


pthread_getspecific() and pthread_setspecific() were derived from the IEEE POSIX P1003.1c standard.


pthread_key_create(3T), pthread_key_delete(3T).


pthread_getspecific(): POSIX 1003.1c. pthread_setspecific(): POSIX 1003.1c.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.