[libc] Remove references to the std threads library from __support/threads.

This commit is contained in:
Siva Chandra Reddy 2022-03-16 19:33:01 +00:00
parent 8d161c1f80
commit 2e7cb8c786
3 changed files with 7 additions and 12 deletions

View File

@ -16,7 +16,6 @@
#include <linux/futex.h>
#include <stdint.h>
#include <sys/syscall.h> // For syscall numbers.
#include <threads.h>
namespace __llvm_libc {
@ -55,12 +54,7 @@ public:
return MutexError::NONE;
}
static MutexError init(mtx_t *m, bool istimed, bool isrecur, bool isrobust) {
auto *mutex = reinterpret_cast<Mutex *>(m);
return init(mutex, istimed, isrecur, isrobust);
}
static MutexError destroy(mtx_t *) { return MutexError::NONE; }
static MutexError destroy(Mutex *) { return MutexError::NONE; }
MutexError reset();

View File

@ -53,10 +53,6 @@ enum class MutexError : int {
namespace __llvm_libc {
static_assert(sizeof(Mutex) <= sizeof(mtx_t),
"The public mtx_t type cannot accommodate the internal mutex "
"type.");
// An RAII class for easy locking and unlocking of mutexes.
class MutexLock {
Mutex *mutex;

View File

@ -13,8 +13,13 @@
namespace __llvm_libc {
static_assert(sizeof(Mutex) <= sizeof(mtx_t),
"The public mtx_t type cannot accommodate the internal mutex "
"type.");
LLVM_LIBC_FUNCTION(int, mtx_init, (mtx_t * m, int type)) {
auto err = Mutex::init(m, type & mtx_timed, type & mtx_recursive, 0);
auto err = Mutex::init(reinterpret_cast<Mutex *>(m), type & mtx_timed,
type & mtx_recursive, 0);
return err == MutexError::NONE ? thrd_success : thrd_error;
}