tail head cat sleep
QR code linking to this page



pthread_key_delete – delete a thread-specific data key



POSIX Threads Library (libpthread, -lpthread)


#include <pthread.h>

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 that 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 behavior.

The pthread_key_delete() function is callable from within destructor functions. Destructor functions are not 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 will return zero. Otherwise an error number will be returned to indicate the error.


The pthread_key_delete() function will fail if:
  The key value is invalid.


pthread_getspecific(3), pthread_key_create(3), pthread_setspecific(3)


The pthread_key_delete() function conforms to IEEE Std 1003.1-96 ("POSIX.1").

PTHREAD_KEY_DELETE (3) April 4, 1996

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

This philosophy, in the hands of amateurs, leads to inexplicably mind-numbing botches like the existence of two programs, “head” and “tail,” which print the first part or the last part of a file, depending. Even though their operations are duals of one another, “head” and “tail” are different programs, written by different authors, and take different options!
— The Unix Haters' handbook