PTHREAD_KEY_DELETE(3)   NetBSD Library Functions Manual  PTHREAD_KEY_DELETE(3)

NAME
     pthread_key_delete -- delete a thread-specific data key

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

     int
     pthread_key_delete(pthread_key_t key);

DESCRIPTION
     The pthread_key_delete() function deletes a thread-specific data key pre-
     viously returned by pthread_key_create().  The thread-specific data val-
     ues associated with key need not be NULL at the time that
     pthread_key_delete() is called.  It is the responsibility of the applica-
     tion 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.

RETURN VALUES
     If successful, the pthread_key_delete() function will return zero.  Oth-
     erwise an error number will be returned to indicate the error.

ERRORS
     pthread_key_delete() may fail if:

     [EINVAL]           The key value is invalid.

SEE ALSO
     pthread_getspecific(3), pthread_key_create(3), pthread_setspecific(3)

STANDARDS
     pthread_key_delete() conforms to ISO/IEC 9945-1:1996 (``POSIX.1'').

BUGS
     The current specifications of pthread_key_create() and
     pthread_key_delete() are flawed and do not permit a clean implementation
     without potential problems.  The current implementation of these func-
     tions NetBSD in addresses these problems by not supporting key reuse.

NetBSD 5.0_STABLE              January 30, 2003              NetBSD 5.0_STABLE
