Delete the specified key from the calling process, and disassociate all threads from the thread key cleanup function supplied when key was created (see createKey). Return 0 on success, and a non‐zero value otherwise. The behavior is undefined unless key was obtained from a successful call to createKey and has not already been deleted. Note that deleting a key does not delete any data referred to by the pointer values associated with that key in any thread.