summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/ThreadLocalStorage.inl
diff options
context:
space:
mode:
Diffstat (limited to 'Private/KernelKit/ThreadLocalStorage.inl')
-rw-r--r--Private/KernelKit/ThreadLocalStorage.inl50
1 files changed, 0 insertions, 50 deletions
diff --git a/Private/KernelKit/ThreadLocalStorage.inl b/Private/KernelKit/ThreadLocalStorage.inl
deleted file mode 100644
index 2b920d0f..00000000
--- a/Private/KernelKit/ThreadLocalStorage.inl
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-//! @brief Allocates a pointer from the process's tls.
-
-#ifndef __PROCESS_MANAGER__
-#include <KernelKit/ProcessScheduler.hpp>
-#endif
-
-template <typename T>
-inline T* tls_new_ptr(void) {
- using namespace NewOS;
-
- MUST_PASS(ProcessScheduler::Shared().Leak().GetCurrent());
-
- auto ref_process = ProcessScheduler::Shared().Leak().GetCurrent();
-
- T* pointer = (T*)ref_process.Leak().New(sizeof(T));
- return pointer;
-}
-
-//! @brief TLS delete implementation.
-template <typename T>
-inline bool tls_delete_ptr(T* ptr) {
- if (!ptr) return false;
-
- using namespace NewOS;
-
- MUST_PASS(ProcessScheduler::Shared().Leak().GetCurrent());
-
- ptr->~T();
-
- auto ref_process = ProcessScheduler::Shared().Leak().GetCurrent();
- return ref_process.Leak().Delete(ptr, sizeof(T));
-}
-
-template <typename T, typename... Args>
-T* tls_new_class(Args&&... args) {
- T* ptr = tls_new_ptr<T>();
-
- if (ptr) {
- *ptr = T(NewOS::forward(args)...);
- return ptr;
- }
-
- return nullptr;
-}