summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/ThreadLocalStorage.inl
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-05-08 12:32:41 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-05-08 12:32:41 +0200
commit09dd11ddf800898c00ecb04a65fb5cd10fb481fa (patch)
treeeda0b4e23d6a71da7de3a78f0bb76ec3201dd2f9 /Private/KernelKit/ThreadLocalStorage.inl
parentca83108fd138cc0398f900e6a6c0a53ad51aee31 (diff)
MHR-23: :boom: changes, reworked project tree.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/KernelKit/ThreadLocalStorage.inl')
-rw-r--r--Private/KernelKit/ThreadLocalStorage.inl55
1 files changed, 0 insertions, 55 deletions
diff --git a/Private/KernelKit/ThreadLocalStorage.inl b/Private/KernelKit/ThreadLocalStorage.inl
deleted file mode 100644
index 9c80d9b8..00000000
--- a/Private/KernelKit/ThreadLocalStorage.inl
+++ /dev/null
@@ -1,55 +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;
-}