Provided by: libglobus-common-doc_14.10-2_all bug

NAME

       Thread-Specific Storage -

   Functions
       int globus_thread_key_create (globus_thread_key_t *key,
           globus_thread_key_destructor_func_t destructor)
       int globus_thread_key_delete (globus_thread_key_t key)
       void * globus_thread_getspecific (globus_thread_key_t key)
       int globus_thread_setspecific (globus_thread_key_t key, void *value)

Detailed Description

       The globus_thread_key_t data type acts as a key to thread-specific storage. For each key
       created by globus_thread_key_create(), each thread may store and retrieve its own value.

Function Documentation

   int globus_thread_key_create (globus_thread_key_t *key,
       globus_thread_key_destructor_func_tdestructor)
       Create a key for thread-specific storage.

       The globus_thread_key_create() function creates a new key for
       thread-specific data. The new key will be available for all threads
       to store a distinct value. If the function pointer @a destructor
       is non-NULL, then that function will be invoked when a thread exits
       that has a non-NULL value associated with the key.

       Parameters:
           key Pointer to be set to the new key.
           destructor Pointer to a function to call when a thread exits to free the key's value.

       Returns:
           On success, globus_thread_create_key() will create a new key to thread-local storage
           and return GLOBUS_SUCCESS. If an error occurs, then the value of key is undefined and
           globus_thread_create_key() returns an implementation-specific non-zero error value.

   int globus_thread_key_delete (globus_thread_key_tkey)
       Delete a thread-local storage key.

       The globus_thread_key_delete() function deletes the key used for a
       thread-local storage association. The destructor function for this
       key will no longer be called after this function returns. The behavior
       of subsequent calls to globus_thread_getspecific() or
       globus_thread_setspecific() with this key will be undefined.

       Parameters:
           key Key to destroy.

       Returns:
           On success, globus_thread_key_delete() will delete a thread-local storage key and
           return GLOBUS_SUCCESS. If an error occurs, then the value of key is undefined and
           globus_thread_create_key() returns an implementation-specific non-zero error value.

   void* globus_thread_getspecific (globus_thread_key_tkey)
       Get a thread-specific data value.

       The globus_thread_getspecific() function returns the value associated
       with the thread-specific data key passed as its first parameter. This
       function returns NULL if the value has not been set by the current
       thread. The return value is undefined if the key is not valid.

       Parameters:
           key Thread-specific data key to look up.

       Returns:
           The value passed to a previous call to globus_thread_setspecific() in the current
           thread for this key.

   int globus_thread_setspecific (globus_thread_key_tkey, void *value)
       Set a thread-specific data value.

       The globus_thread_setspecific() function associates a thread-specific
       value with a data key. If the key had a previous value set in the
       current thread, it is replaced, but the destructor function is not
       called for the old value.

       Parameters:
           key Thread-specific data key to store.
           value A pointer to data to store as the thread-specific data for this thread.

       Returns:
           On success, globus_thread_setspecific() stores value in the thread-specific data for
           the specified key and returns GLOBUS_SUCCESS. If an error occurs,
           globus_thread_setspecific() returns an implementation-specific non-zero error code and
           does not modify the key's value for this thread.

Author

       Generated automatically by Doxygen for globus common from the source code.