Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


PTHREAD_GETSPECIFIC(3)     Library Functions Manual     PTHREAD_GETSPECIFIC(3)

NAME
     pthread_getspecific, pthread_setspecific - thread-specific data value

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

     void *
     pthread_getspecific(pthread_key_t key);

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

DESCRIPTION
     The pthread_getspecific() function returns the value currently bound to
     the specified key on behalf of the calling thread.  Conversely, the
     pthread_setspecific() function associates a thread-specific value with a
     key obtained via a previous call to pthread_key_create(3).  Different
     threads have different values bound to each key.  These values are
     typically pointers to blocks of dynamically allocated memory that have
     been reserved for use by the calling thread.

     Undefined behavior may follow if either function is called with a key
     value not obtained from pthread_key_create(3), or if the call is made
     after key has been deleted with pthread_key_delete(3).  It is possible to
     call either function from a thread-specific data destructor function.
     Note however that this is not well defined for the pthread_setspecific()
     function; lost storage or infinite loops may occur.

RETURN VALUES
     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.  If successful, the
     pthread_setspecific() function will return zero.  Otherwise an error
     number will be returned to indicate the error.

ERRORS
     No errors are defined for either function.

SEE ALSO
     pthread_key_create(3)

STANDARDS
     These functions conform to IEEE Std 1003.1-2001 ("POSIX.1").

NetBSD 10.99                     July 9, 2010                     NetBSD 10.99