Sets the per-thread context associated with the specified key for
the current thread.
Syntax
pthread_setspecific(
key,
value );
Argument Data Type Access
key opaque pthread_key_t read
value opaque pthread_addr_t read
C Binding
int
pthread_setspecific (
pthread_key_t key,
pthread_addr_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.