![[Return to Bookshelf]](BOOKSHELF.GIF) 
![[Contents]](TOC.GIF) 
![[Previous Section]](PREV.GIF) 
![[Next Section]](NEXT.GIF) 
![[Index]](INDEX.GIF) 
![[Help]](HELP.GIF) 
Deletes a thread-specific data key.
Syntax
pthread_key_delete(
                   key );
 
Argument         Data Type               Access
key              opaque pthread_key_t    write
C Binding
#include 
int
pthread_key_delete (
         pthread_key_t   key);
Arguments
- key
-  Context key to be deleted. 
Description
 This routine 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
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 before or after this routine
call. Do not attempt to use the key after calling this routine;
this 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.
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 an invalid argument.
Associated Routines
   pthread_getspecific
   pthread_key_create
   pthread_exit
![[Return to Bookshelf]](BOOKSHELF.GIF) 
![[Contents]](TOC.GIF) 
![[Previous Section]](PREV.GIF) 
![[Next Section]](NEXT.GIF) 
![[Index]](INDEX.GIF) 
![[Help]](HELP.GIF)