1.\" $OpenBSD: pthread_key_delete.3,v 1.5 1999/11/24 05:35:32 d Exp $ 2.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 3. All advertising materials mentioning features or use of this software 14.\" must display the following acknowledgement: 15.\" This product includes software developed by John Birrell. 16.\" 4. Neither the name of the author nor the names of any co-contributors 17.\" may be used to endorse or promote products derived from this software 18.\" without specific prior written permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.\" $FreeBSD: pthread_key_delete.3,v 1.5 1999/08/28 00:03:06 peter Exp $ 33.\" 34.Dd April 4, 1996 35.Dt PTHREAD_KEY_DELETE 3 36.Os 37.Sh NAME 38.Nm pthread_key_delete 39.Nd delete a thread-specific data key 40.Sh SYNOPSIS 41.Fd #include <pthread.h> 42.Ft int 43.Fn pthread_key_delete "pthread_key_t key" 44.Sh DESCRIPTION 45The 46.Fn pthread_key_delete 47function deletes a thread-specific data key previously returned by 48.Fn pthread_key_create . 49The thread-specific data values associated with 50.Fa key 51need not be NULL at the time that 52.Fn pthread_key_delete 53is called. It is the responsibility of the application to free any 54application storage or perform any cleanup actions for data structures 55related to the deleted key or associated thread-specific data in any threads; 56this cleanup can be done either before or after 57.Fn pthread_key_delete 58is called. Any attempt to use 59.Fa key 60following the call to 61.Fn pthread_key_delete 62results in undefined behavior. 63.Pp 64The 65.Fn pthread_key_delete 66function is callable from within destructor functions. Destructor functions 67are not invoked by 68.Fn pthread_key_delete . 69Any destructor function that may have been associated with 70.Fa key 71will no longer be called upon thread exit. 72.Sh RETURN VALUES 73If successful, the 74.Fn pthread_key_delete 75function will return zero. Otherwise an error number will be returned to 76indicate the error. 77.Sh ERRORS 78.Fn pthread_key_delete 79will fail if: 80.Bl -tag -width Er 81.It Bq Er EINVAL 82The 83.Fa key 84value is invalid. 85.El 86.Sh SEE ALSO 87.Xr pthread_getspecific 3 , 88.Xr pthread_key_create 3 , 89.Xr pthread_setspecific 3 90.Sh STANDARDS 91.Fn pthread_key_delete 92conforms to ISO/IEC 9945-1 ANSI/IEEE 93.Pq Dq Tn POSIX 94Std 1003.1 Second Edition 1996-07-12. 95