From e559cf01834340d0a4dfcb45f7bdf081e8994032 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 2 Feb 2024 13:49:50 +0100 Subject: Kernel: Port toolchain to mingw (PE/COFF) Signed-off-by: Amlal El Mahrouss --- Private/KernelKit/ThreadLocalStorage.inl | 45 ++++++++++++++++---------------- 1 file changed, 22 insertions(+), 23 deletions(-) (limited to 'Private/KernelKit/ThreadLocalStorage.inl') diff --git a/Private/KernelKit/ThreadLocalStorage.inl b/Private/KernelKit/ThreadLocalStorage.inl index e73d8672..59d4c525 100644 --- a/Private/KernelKit/ThreadLocalStorage.inl +++ b/Private/KernelKit/ThreadLocalStorage.inl @@ -9,42 +9,41 @@ //! @brief Allocates a pointer from the process's tls. +#ifndef __PROCESS_MANAGER__ +#include +#endif + template -inline T* hcore_tls_new_ptr(void) -{ - using namespace HCore; +inline T* hcore_tls_new_ptr(void) { + using namespace HCore; - auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); + auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); - T* pointer = (T*)ref_process.Leak().New(sizeof(T)); - return pointer; + T* pointer = (T*)ref_process.Leak().New(sizeof(T)); + return pointer; } //! @brief TLS delete implementation. template -inline bool hcore_tls_delete_ptr(T* ptr) -{ - if (!ptr) - return false; +inline bool hcore_tls_delete_ptr(T* ptr) { + if (!ptr) return false; - using namespace HCore; + using namespace HCore; - auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); - ptr->~T(); + auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); + ptr->~T(); - return ref_process.Leak().Delete(ptr, sizeof(T)); + return ref_process.Leak().Delete(ptr, sizeof(T)); } template -T* hcore_tls_new_class(Args&&... args) -{ - T* ptr = hcore_tls_new_ptr(); +T* hcore_tls_new_class(Args&&... args) { + T* ptr = hcore_tls_new_ptr(); - if (ptr) - { - *ptr = T(HCore::forward(args)...); - return ptr; - } + if (ptr) { + *ptr = T(HCore::forward(args)...); + return ptr; + } - return nullptr; + return nullptr; } -- cgit v1.2.3