Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

globus_thread_key(3) [debian man page]

Thread-Specific Storage(3)					   globus common					Thread-Specific Storage(3)

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. .PP 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. .PP 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. .PP 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. .PP 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. Version 14.7 Tue Nov 27 2012 Thread-Specific Storage(3)

Check Out this Related Man Page

pthread_key_delete(3C)													    pthread_key_delete(3C)

NAME
pthread_key_delete - delete thread-specific data key SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h> int pthread_key_delete(pthread_key_t key); The pthread_key_delete() function deletes a thread-specific data key previously returned by pthread_key_create(). The thread-specific data values associated with key need not be NULL at the time pthread_key_delete() is called. It is the responsibility of the application to free any application storage or perform any cleanup actions for data structures related to the deleted key or associated thread-specific data in any threads; this cleanup can be done either before or after pthread_key_delete() is called. Any attempt to use key following the call to pthread_key_delete() results in undefined behaviour. The pthread_key_delete() function is callable from within destructor functions. No destructor functions will be invoked by pthread_key_delete(). Any destructor function that may have been associated with key will no longer be called upon thread exit. If successful, the pthread_key_delete() function returns 0. Otherwise, an error number is returned to indicate the error. The pthread_key_delete() function may fail if: EINVAL The key value is invalid. The pthread_key_delete() function will not return an error code of EINTR. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ pthread_key_create(3C), attributes(5), standards(5) 23 Mar 2005 pthread_key_delete(3C)
Man Page