HELPLIB.HLB  —  POSIX Threads, PTHREAD routines, pthread_setspecific
    Sets the thread-specific data value associated with the specified
    key for the calling thread.

1  –  C Binding

    #include <pthread.h>

    int
    pthread_setspecific (
             pthread_key_t   key,
             const void   *value);

2  –  Arguments

 key

    Thread-specific key that identifies the thread-specific data to
    receive value. This key value must be obtained from pthread_key_
    create().

 value

    New thread-specific data value to associate with the specified
    key for the calling thread.

3  –  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().

    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." The Threads Library simply stores value for later
    retrieval.

4  –  Return Values

    If an error condition occurs, this routine returns an integer
    indicating the type of error. Possible return values are as
    follows:

    Return      Description

    0           Successful completion.
    [EINVAL]    The specified key is invalid.
    [ENOMEM]    Insufficient memory to associate the value with the
                key.

5  –  Associated Routines

       pthread_getspecific()
       pthread_key_create()
       pthread_key_delete()
Close Help