Grid Community Toolkit
6.2.1629922860 (tag: v6.2.20210826)
|
Thread-Specific Storage. More...
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. More... | |
int | globus_thread_key_delete (globus_thread_key_t key) |
Delete a thread-local storage key. More... | |
void * | globus_thread_getspecific (globus_thread_key_t key) |
Get a thread-specific data value. More... | |
int | globus_thread_setspecific (globus_thread_key_t key, void *value) |
Set a thread-specific data value. More... | |
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.
void* globus_thread_getspecific | ( | globus_thread_key_t | key | ) |
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.
key | Thread-specific data key to look up. |
int globus_thread_key_create | ( | globus_thread_key_t * | key, |
globus_thread_key_destructor_func_t | destructor | ||
) |
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.
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. |
int globus_thread_key_delete | ( | globus_thread_key_t | key | ) |
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.
key | Key to destroy. |
int globus_thread_setspecific | ( | globus_thread_key_t | key, |
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.
key | Thread-specific data key to store. |
value | A pointer to data to store as the thread-specific data for this thread. |