[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]


pthread_setspecific

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.



[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]