Standard C Library Functions pthread_getspecific(3C)
NAME
pthread_getspecific, pthread_setspecific - manage thread-
specific dataSYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include
int pthread_setspecific(pthread_key_t key, const void *value);
void *pthread_getspecific(pthread_key_t key);
DESCRIPTION
The pthread_setspecific() function associates a thread-
specific value with a key obtained by way of a previous callto pthread_key_create(). Different threads may bind dif-
ferent values to the same key. These values are typically pointers to blocks of dynamically allocated memory that have been reserved for use by the calling thread.The pthread_getspecific() function returns the value
currently bound to the specified key on behalf of the cal-
ling thread.The effect of calling pthread_setspecific() or
pthread_getspecific() with a key value not obtained from
pthread_key_create() or after key has been deleted with
pthread_key_delete() is undefined.
Both pthread_setspecific() and pthread_getspecific() may be
called from a thread-specific data destructor function. How-
ever, calling pthread_setspecific() from a destructor may
result in lost storage or infinite loops.RETURN VALUES
The pthread_getspecific() function returns the thread-
specific data value associated with the given key. If nothread-specific data value is associated with key, then the
value NULL is returned.Upon successful completion, the pthread_setspecific() func-
tion returns 0. Otherwise, an error number is returned to indicate the error.ERRORS
SunOS 5.11 Last change: 23 Mar 2005 1
Standard C Library Functions pthread_getspecific(3C)
The pthread_setspecific() function will fail if:
ENOMEM Insufficient memory exists to associate the value with the key.The pthread_setspecific() function may fail if:
EINVAL The key value is invalid.The pthread_getspecific() function does not return errors.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
pthread_key_create(3C), attributes(5), standards(5)
SunOS 5.11 Last change: 23 Mar 2005 2