PTHREAD_SETSPECIFIC(3) Library Functions Manual PTHREAD_SETSPECIFIC(3) NAME pthread_setspecific -- set a thread-specific data value LIBRARY POSIX Threads Library (libpthread, -lpthread) SYNOPSIS #include <pthread.h> int pthread_setspecific(pthread_key_t key, const void *value); DESCRIPTION The pthread_setspecific() function associates a thread-specific value with a key obtained via a previous call to pthread_key_create(). Different threads can bind different values to the same key. These values are typi- cally pointers to blocks of dynamically allocated memory that have been re- served for use by the calling thread. The effect of calling pthread_setspecific() with a key value not obtained from pthread_key_create() or after key has been deleted with pthread_key_delete() is undefined. The pthread_setspecific() function may be called from a thread-specific data destructor function, however this may result in lost storage or infi- nite loops if doing so causes non-NULL key values to remain after [PTHREAD_DESTRUCTOR_ITERATIONS] iterations of destructor calls have been made. RETURN VALUES If successful, the pthread_setspecific() function will return zero. Other- wise an error number will be returned to indicate the error. ERRORS The pthread_setspecific() function will fail if: [ENOMEM] Insufficient memory exists to associate the value with the key. [EINVAL] The key value is invalid. SEE ALSO pthread_getspecific(3), pthread_key_create(3), pthread_key_delete(3) STANDARDS The pthread_setspecific() function conforms to ISO/IEC 9945-1:1996 ("POSIX.1"). FreeBSD 15.1 April 4, 1996 PTHREAD_SETSPECIFIC(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pthread_setspecific&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>
