Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pthread_setspecific(3) [osf1 man page]

pthread_setspecific(3)					     Library Functions Manual					    pthread_setspecific(3)

NAME
pthread_setspecific - Sets the thread-specific data value associated with the specified key for the current thread. LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so) SYNOPSIS
#include <pthread.h> int pthread_setspecific( pthread_key_t key, const void *value); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: IEEE Std 1003.1c-1995, POSIX System Application Program Interface PARAMETERS
Thread-specific key that identifies the thread-specific data to receive value. This key value must be obtained from pthread_key_cre- ate(3)). New thread-specific data value to associate with the specified key for the current thread. DESCRIPTION
This routine sets the thread-specific data value associated with the specified key for the current thread. If a value is defined for the key in this thread (the current value is not NULL), the new value is substituted for it. The key is obtained by a previous call to pthread_key_create(3). Different threads can bind different values to the same key. These values are typically pointers to blocks of dynamically allocated memory that are reserved for use by the calling thread. Do not call this routine from a thread-specific data destructor function. Note that although the type for value (void *) implies that it represents an address, the type is being used as a "universal scalar type." DECthreads simply stores value for later retrieval. RETURN VALUES
If an error condition occurs, this routine returns an integer value indicating the type of error. Possible return values are as follows: Successful completion. The specified key is invalid. Insufficient memory exists to associate the value with the key. ERRORS
None RELATED INFORMATION
Functions: pthread_getspecific(3), pthread_key_create(3), pthread_key_delete(3) Manuals: Guide to DECthreads and Programmer's Guide delim off pthread_setspecific(3)

Check Out this Related Man Page

PTHREAD_GETSPECIFIC(P)					     POSIX Programmer's Manual					    PTHREAD_GETSPECIFIC(P)

NAME
pthread_getspecific, pthread_setspecific - thread-specific data management 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 shall return the value currently bound to the specified key on behalf of the calling thread. The pthread_setspecific() function shall associate a thread-specific value with a key obtained via a previous call to pthread_key_create(). Different threads may bind different 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 effect of calling pthread_getspecific() or pthread_setspecific() with a key value not obtained from pthread_key_create() or after key has been deleted with pthread_key_delete() is undefined. Both pthread_getspecific() and pthread_setspecific() may be called from a thread-specific data destructor function. A call to pthread_get- specific() for the thread-specific data key being destroyed shall return the value NULL, unless the value is changed (after the destructor starts) by a call to pthread_setspecific(). Calling pthread_setspecific() from a thread-specific data destructor routine may result either in lost storage (after at least PTHREAD_DESTRUCTOR_ITERATIONS attempts at destruction) or in an infinite loop. Both functions may be implemented as macros. RETURN VALUE
The pthread_getspecific() function shall 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 shall be returned. If successful, the pthread_setspecific() function shall return zero; otherwise, an error number shall be returned to indicate the error. ERRORS
No errors are returned from pthread_getspecific(). The pthread_setspecific() function shall 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. These functions shall not return an error code of [EINTR]. The following sections are informative. EXAMPLES
None. APPLICATION USAGE
None. RATIONALE
Performance and ease-of-use of pthread_getspecific() are critical for functions that rely on maintaining state in thread-specific data. Since no errors are required to be detected by it, and since the only error that could be detected is the use of an invalid key, the func- tion to pthread_getspecific() has been designed to favor speed and simplicity over error reporting. FUTURE DIRECTIONS
None. SEE ALSO
pthread_key_create() , the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h> COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technol- ogy -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html . IEEE
/The Open Group 2003 PTHREAD_GETSPECIFIC(P)
Man Page