llvm-project/libc/src/pthread/pthread_key_delete.cpp
Siva Chandra Reddy 4a738ee822 [libc] Add implemementations of thread specific data related API.
Specifically, POSIX functions pthread_key_create, pthread_key_delete,
pthread_setspecific and pthread_getspecific have been added. The C
standard equivalents tss_create, tss_delete, tss_set and tss_get have
also been added.

Reviewed By: lntue, michaelrj

Differential Revision: https://reviews.llvm.org/D131647
2022-08-12 05:28:40 +00:00

27 lines
723 B
C++

//===-- Implementation of the pthread_key_delete --------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "pthread_key_delete.h"
#include "src/__support/common.h"
#include "src/__support/threads/thread.h"
#include <errno.h>
#include <pthread.h>
namespace __llvm_libc {
LLVM_LIBC_FUNCTION(int, pthread_key_delete, (pthread_key_t key)) {
if (__llvm_libc::tss_key_delete(key))
return 0;
else
return EINVAL;
}
} // namespace __llvm_libc