From 2e7cb8c786dd965218b5de9b0d96c64d171ab1e4 Mon Sep 17 00:00:00 2001 From: Siva Chandra Reddy Date: Wed, 16 Mar 2022 19:33:01 +0000 Subject: [PATCH] [libc] Remove references to the std threads library from __support/threads. --- libc/src/__support/threads/linux/mutex.h | 8 +------- libc/src/__support/threads/mutex.h | 4 ---- libc/src/threads/mtx_init.cpp | 7 ++++++- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/libc/src/__support/threads/linux/mutex.h b/libc/src/__support/threads/linux/mutex.h index 00af4a2..e4e06e9 100644 --- a/libc/src/__support/threads/linux/mutex.h +++ b/libc/src/__support/threads/linux/mutex.h @@ -16,7 +16,6 @@ #include #include #include // For syscall numbers. -#include 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(m); - return init(mutex, istimed, isrecur, isrobust); - } - - static MutexError destroy(mtx_t *) { return MutexError::NONE; } + static MutexError destroy(Mutex *) { return MutexError::NONE; } MutexError reset(); diff --git a/libc/src/__support/threads/mutex.h b/libc/src/__support/threads/mutex.h index e717038..f585dcd 100644 --- a/libc/src/__support/threads/mutex.h +++ b/libc/src/__support/threads/mutex.h @@ -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; diff --git a/libc/src/threads/mtx_init.cpp b/libc/src/threads/mtx_init.cpp index f3d1ee6..1e4da79 100644 --- a/libc/src/threads/mtx_init.cpp +++ b/libc/src/threads/mtx_init.cpp @@ -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(m), type & mtx_timed, + type & mtx_recursive, 0); return err == MutexError::NONE ? thrd_success : thrd_error; } -- 2.7.4