pthread_setspecific(3thr)
Name
pthread_setspecific − Sets the per-thread context associated with the specified key for the current thread.
Syntax
#include <pthread.h>
int pthread_setspecific (key, value)
pthread_key_t key;
pthread_attr_t value;
Arguments
key Context key value that uniquely identifies the context cell to receive value. This key value must be obtained from pthread_keycreate.
value Address containing data associated with the specified key for the current thread; this is the per-thread context.
Description
This routine sets the per-thread context associated with the specified key for the current thread. If a context is defined for the key in this thread (the current value is not null), the new value is substituted for it.
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.
Return Values
If an error condition occurs, this routine returns -1 and sets errno to the corresponding error value. Possible return values are as follows.
| Return | Error | Description |
| 0 | Successful completion. | |
| -1 | [EINVAL] | The key value is invalid. |