Deletes a thread-specific data key.
1 – C Binding
#include <pthread.h> int pthread_key_delete ( pthread_key_t key);
2 – Arguments
key Context key to be deleted.
3 – Description
This routine deletes the thread-specific data key specified by the key argument, which must have been previously returned by pthread_key_create(). The thread-specific data values associated with key need not be NULL at the time this routine is called. The application must 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 this routine is called. Attempting to use the key after calling this routine results in unpredictable behavior. No destructor functions are invoked by this routine. Any destructor functions that may have been associated with key shall no longer be called upon thread exit. pthread_key_delete() can be called from within destructor functions.
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 key value is not a valid key.
5 – Associated Routines
pthread_exit() pthread_getspecific() pthread_key_create()