logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

globus_thread_key - Thread-Specific Storage

Author

       Generated automatically by Doxygen for globus_common from the source code.

globus_common                                     Version 18.14                             globus_thread_key(3)

Detailed Description

       Thread-Specific Storage.

       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

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.

       Parameterskey 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.

   intglobus_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 destructor is non-NULL, then that function will be invoked when a thread exits that has
       a non-NULL value associated with the key.

       Parameterskey 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.

   intglobus_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.

       Parameterskey 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.

   intglobus_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.

       Parameterskey 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.

Name

       globus_thread_key - Thread-Specific Storage

        - Thread-Specific Storage.

Synopsis

Functions
       int globus_thread_key_create (globus_thread_key_t *key, globus_thread_key_destructor_func_t destructor)
           Create a key for thread-specific storage.
       int globus_thread_key_delete (globus_thread_key_t key)
           Delete a thread-local storage key.
       void * globus_thread_getspecific (globus_thread_key_t key)
           Get a thread-specific data value.
       int globus_thread_setspecific (globus_thread_key_t key, void *value)
           Set a thread-specific data value.

See Also