PTHREAD_GETSPECIFIC(3)  NetBSD Library Functions Manual PTHREAD_GETSPECIFIC(3)

NAME
     pthread_getspecific -- 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 typi-
     cally 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 num-
     ber 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 5.0                       July 9, 2010                       NetBSD 5.0