pthread_getspecific.3t (2010 09)
p
pthread_getspecific(3T) pthread_getspecific(3T)
(Pthread Library)
NAME
pthread_getspecific(), pthread_setspecific() - get or set the thread-specific data associated with a key
SYNOPSIS
#include <pthread.h>
void *pthread_getspecific(
pthread_key_t key
);
int pthread_setspecific(
pthread_key_t key,
const void *value
);
PARAMETERS
key Thread-specific data key whose value for the calling thread is to be set or retrieved.
value Value to be assigned to the thread-specific data key for the calling thread.
DESCRIPTION
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 allo-
cated by the calling thread.
key must be a valid thread-specific data key created by calling
pthread_key_create()
.Ifkey 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.
RETURN VALUE
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 indi-
cate the error (the
errno variable is not set).
ERRORS
No errors are returned by the
pthread_getspecific()
function.
If any of the following occur, the
pthread_setspecific()
function returns the corresponding error
number:
[ENOMEM] 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()
func-
tion returns the corresponding error number:
[EINVAL] key is an invalid thread-specific data key.
AUTHOR
pthread_getspecific() and pthread_setspecific()
were derived from the IEEE POSIX
P1003.1c standard.
SEE ALSO
pthread_key_create(3T), pthread_key_delete(3T).
STANDARDS CONFORMANCE
pthread_getspecific(): POSIX 1003.1c.
pthread_setspecific(): POSIX 1003.1c.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1