blob: 048ad2f0afb6b3a42ade57c418615a117dd400ab [file] [log] [blame]
<assertions>
<assertion id="1" tag="ref:XSH6:33528:33534">
The function
int pthread_key_delete(pthread_key_t key);
Shall delete a thread-specific data key previously returned by pthread_key_create. The
thread-specific data values specified data values associated with 'key' need not be NULL at
the time 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.
</assertion>
<assertion id="2" tag="ref:XSH6:33535:33537">
pthread_key_delete function shall be callable from within destructor functions. No
destructor functions shall be invoked by pthread_key_delete. Any destructor function
that may have been associated with 'key' shall no longer be called up thread exit.
</assertion>
<assertion id="3" tag="ref:XSH6:33542:33544">
If successful, it returns zero. It may fail if:
[EINVAL] - The 'key' value is invalid.
it shall not return [EINTR]
</assertion>
</assertions>